gpt4 book ai didi

jQuery ajax 错误回调未触发

转载 作者:行者123 更新时间:2023-12-03 22:47:17 26 4
gpt4 key购买 nike

我正在使用 ajax 请求一个 URL,该 URL 会产生 HTTP header 代码 500。我希望这会触发错误函数:

    $.ajax({
url: "http://xxx",
dataType: "jsonp",
crossDomain: true,
success: function( data ) {
alert('success');
},
error: function () {
alert('error');
}
});

这在 safari 中有效,但在 Chrome 和 Firefox 中失败。

我做错了什么?

这是最新的jquery 1.4.X,由于原因我无法升级到更高版本..

响应发送 HTTP 代码 500,内容类型 application/json 和内容:

jsonp1310063232212({"error":{"reason":"找不到用户"}})

最佳答案

如 JQuery 文档 [1] 中所述,不会为跨域脚本和 JSONP 请求调用错误处理程序。它在旧版本的 JQuery 上工作(并不总是)。

我使用一个紧凑而有效的插件来解决这个问题,其中包括一个很好的错误处理程序: http://code.google.com/p/jquery-jsonp/

下载并添加到头部:

<script src="javascripts/jquery.jsonp-2.2.0.min.js" type="text/javascript"></script>

然后你可以使用类似于$.ajax()的函数$.jsonp():

$.jsonp({
url: "http://xxx?callback=?",
data: {
var: 'test'
},
cache: false,
success: function(data, textStatus) {
// ...
},
error: function(xOptions, textStatus) {
console.log('Error');
// ...
}
});

[1] http://api.jquery.com/jQuery.ajax/

关于jQuery ajax 错误回调未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6615084/

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