使用 jquery ajax 从 asp.net 网页表单页面调用 web api url

Posted

技术标签:

【中文标题】使用 jquery ajax 从 asp.net 网页表单页面调用 web api url【英文标题】:Call web api url using jquery ajax from an asp.net web form page 【发布时间】:2021-09-27 03:05:57 【问题描述】:

我有一个 web api 方法,它的 url 如下:

https://www.mycompany.es/webapi/deptartment/search/partialDepartmentName

此 Web api 方法返回一个 JSON,其中所有部门名称都包含 partialDepartmentName。

我已经使用 Telerik Fiddler Classic 进行了检查,方法是在下面输入 url 以搜索在作曲家中包含“财务”(不带双引号)的部门并使用 GET 动词(POST 不起作用)。

https://www.mycompany.es/webapi/deptartment/search/finance

它工作正常。现在我想使用我的 asp.net 网页表单页面中的 jQuery ajax 调用来做同样的事情,如下所示:

$.ajax(
        url: 'https://www.mycompany.es/webapi/deptartment/search/',
        type: 'POST',
        data:  "finance"  ,
        contentType: 'application/json; charset=utf-8',
        success: function (response) 
            alert(response.status);
        ,
        error: function () 
            alert("error");
        
    ); 

但它不起作用?我究竟做错了什么?对不起,我是网络开发的新手...

【问题讨论】:

这在什么方面不起作用?使用浏览器的调试工具,控制台上是否有任何错误? AJAX 请求是在网络选项卡中发出的吗?服务器的响应是什么?您从这段代码中观察到什么结果? 尝试使用response.d(“d”是返回的数据-它是asp.net的“qurik”)。 为什么在你的 jQuery 中使用 POST 而在 Fiddler 中却不起作用?将类型更改为 GET 并将“财务”添加到 URL 的末尾。 @RomanK。是的,这有什么问题。用 GET 替换 POST 有效。我是网络编程的新手。调用 web api 方法时 POST 和 GET 有什么区别? Fiddler 使用 POST 失败,但使用 GET 工作。 拉尔夫,我很高兴它起作用了。评论部分可能不是讨论 HTTP 方法之间差异的地方。基本上,POST 允许您将数据发送到 Web 服务器,而 GET 用于请求数据。网上有很多教程和解释。您可以从POST (HTTP) on Wikipeadia 开始。 API 不一定要同时支持这两种方法。 【参考方案1】:

网络方法是否需要/期望参数(看起来不需要)。

所以:

$.ajax(
    url: 'https://www.mycompany.es/webapi/deptartment/search/finance.aspx',
    type: 'POST',
    data:  ""  ,
    contentType: 'application/json; charset=utf-8',
    success: function (response) 
        alert(response.d);
    ,
    error: function () 
        alert("error");
    
); 

请注意我们如何使用“.d” - 它会在 asp.net 中为您提供数据响应

【讨论】:

以上是关于使用 jquery ajax 从 asp.net 网页表单页面调用 web api url的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 jQuery Ajax 调用从 ASP.NET Web Api 下载 CSV 文件

使用 Jquery AJAX 从 ASP.NET Web 服务器获取对象

使用 jquery ajax 从 asp.net 网页表单页面调用 web api url

将数据传递到处理程序的 Jquery ajax 不起作用(Asp.net、C#、Jquery)

如何使用 jQuery AJAX 调用 ASP.Net 字符串函数?

c# asp.net jQuery AJAX 从 MySQL 获取数据