gpt4 book ai didi

javascript - Ajax 调用触发错误事件但返回 200 ok

转载 作者:可可西里 更新时间:2023-11-01 01:29:53 25 4
gpt4 key购买 nike

$.ajax({
url: 'http://intern-dev01:50231/api/language',
type: 'GET',
dataType: 'json',
success: function() {
console.log('It Works!');
},
error: function (request,status, error) {
console.log(error);
alert(status);
}
});

为什么这个 ajax 调用不起作用??如果我在浏览器中调用它工作正常:/。

这是 fiddler 返回的内容:

HTTP/1.1 200 OK
Content-Length: 122
Content-Type: application/json; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Fri, 26 Apr 2013 06:56:40 GMT

[{"LanguageId":1,"LanguageName":"Dansk"},{"LanguageId":2,"LanguageName":"Tysk"},{"LanguageId":3,"LanguageName":"Engelsk"}]

最佳答案

您必须检查 ajax 响应是否有效。当您在 ajax 中指定时:

dataType: 'json',

如果响应无法解析为 JSON,jQuery 将触发错误事件,即使服务器返回 200 OK。检查从服务器返回的数据并确保它是有效的 JSON(尝试 JSONLint 服务)。

如果返回的数据不是 JSON 或有语法错误,请在您的服务器端代码中修复它们。您可以只从服务器端脚本返回 {}。

也试试这个。

$.ajax({
url: 'http://intern-dev01:50231/api/language',
type: 'GET',
cache: false,
complete: function (xhr, status) {
if (status === 'error' || !xhr.responseText) {
console.log(error);
alert(status);
}
else {
console.log('It Works!');.
}
}
});

关于javascript - Ajax 调用触发错误事件但返回 200 ok,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16230624/

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