如何从来自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 控制器?

如何从firebase中的变量为地图添加价值?

如何在 jQuery 中从外部 API 输出 JSON 数据,就像我在控制台日志中看到的那样,在 HTML 中(在 jQuery 中格式化 JSON)

如何从 mvc 控制器获取列表以使用 jquery ajax 查看

如何从 FlexForm 到 Controller 获取价值

如何使用 jQuery 从项目目录下载或获取文件