如何从来自api控制器的jquery中获取价值
Posted
技术标签:
【中文标题】如何从来自api控制器的jquery中获取价值【英文标题】:How to get value from jquery which come from api controller 【发布时间】:2019-01-25 12:08:47 【问题描述】:您好,我有一个 Web API 控制器,它返回一个整数值,但我不知道如何在 jquery ajax 函数中获取它。 我的 API 控制器正在跟踪。
[HttpGet]
[Route("api/tblProducts/UserId/CheckUserAvil")]
[ResponseType(typeof(int))]
public IHttpActionResult CheckUserAvil(string UserId)
int Exist = db.CheckUserIdAvil(UserId);
return Ok(Exist);
我的 jquery 代码已经给出
$.getJSON("/api/tblProducts/" + Userid + "/CheckUserAvil", function (data)
);
我不知道如何处理响应我想要来自控制器的 Exist 变量值。 请帮帮我。
更新 我的存储过程代码正在闲置
USE [MakaAnOrderDB]
GO
/****** Object: StoredProcedure [dbo].[CheckUserIdAvil] Script Date: 8/19/2018 1:18:30 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[CheckUserIdAvil]
@UserId nvarchar(255)
AS
BEGIN
SET NOCOUNT ON;
DECLARE @Exists INT
IF EXISTS(SELECT @UserId
FROM tblUser
WHERE UserId = @UserId )
BEGIN
SET @Exists = 1
END
ELSE
BEGIN
SET @Exists = 0
END
RETURN @Exists
END
GO
它在 Sql 中运行良好,但在 Api 中。它一直在返回 -1
【问题讨论】:
回调函数中的变量data
会包含Exist
的值。
Web API and JQuery to do GET or POST Data
【参考方案1】:
回调参数data
将包含您搜索的数据。
一个建议是让操作返回一个模型,使返回的数据更易于理解。
例如,下面使用匿名对象来保存数据。
[HttpGet]
[Route("api/tblProducts/UserId/CheckUserAvil")]
[ResponseType(typeof(int))]
public IHttpActionResult CheckUserAvil(string UserId)
int exist = db.CheckUserIdAvil(UserId);
var model = new
Exist = exist
;
return Ok(model);
然后客户端将从回调函数的响应中提取所需的数据
$.getJSON("/api/tblProducts/" + Userid + "/CheckUserAvil", function (data)
var exist = data.Exist;
console.log("Exist: " + exist);
//...
);
【讨论】:
谢谢@Nkosi先生,它运行良好,但我面临的另一个问题是我创建了一个存储过程来检查表中的User Avilable,并且过程在SQL Server中运行良好,但在api应用程序中它正在返回-1 一直以来我都将使用存储过程更新我的问题,请帮助我以上是关于如何从来自api控制器的jquery中获取价值的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 json 从 web.api 获取返回值到 mvc 控制器?
如何在 jQuery 中从外部 API 输出 JSON 数据,就像我在控制台日志中看到的那样,在 HTML 中(在 jQuery 中格式化 JSON)
如何从 mvc 控制器获取列表以使用 jquery ajax 查看