gpt4 book ai didi

javascript - jQuery 调用 Web API 不起作用

转载 作者:行者123 更新时间:2023-12-02 14:24:10 25 4
gpt4 key购买 nike

  • .NET 4.61、WebForms、WebAPI 2、C#

我对 WebAPI Controller 进行了以下 AJAX 调用:

$.ajax('/api/search', {
type: 'POST',
data: { '': searchText }, // data to submit
done: function (data, status, xhr) {
alert('here');
console.log(data);
$('#search-results').append('status: ' + status + ', data: ' + data);
},
fail: function (jqXhr, textStatus, errorMessage) {
alert('here2');
$('#search-results').append('Error' + errorMessage);
}
});

和 API Controller 代码:

public class SearchController : ApiController
{
[HttpPost]
public FindViewModel Find([FromBody] string aSearchText)
{
//Code omitted that does the actual population of the result

//Return them alphabetically
result.Items = result.Items.ToList().OrderBy(r => r.DisplayText).ToList();

return result;
}
}

但是我从来没有进入原始 AJAX 调用中的完成或错误 promise 。即没有警报。 Firebug 显示了 200 个响应,数据符合我的预期:

enter image description here

为了达成完成/失败的 promise ,我缺少什么?

最佳答案

您为 successerror 回调使用了错误的名称:

$.ajax('/api/search', {
type: 'POST',
data: { '': searchText }, // data to submit
success: function (data, status, xhr) {
alert('here');
console.log(data);
$('#search-results').append('status: ' + status + ', data: ' + data);
},
error: function (jqXhr, textStatus, errorMessage) {
alert('here2');
$('#search-results').append('Error' + errorMessage);
}
});

另外:

What am I missing here to get into the done/fail promises?

在这种情况下,您正在使用回调,请注意 promise 是不同的东西。请查看jQuery.ajax()文档以获取更多信息。

关于javascript - jQuery 调用 Web API 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38417390/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com