我正在为一个坚持使用 jQuery 1.4.3 的网站编写 Ajax 代码。碰巧我的 Ajax 调用收到 TCP 拒绝(没关系,并且是项目的一部分)。不幸的是,这个 jQuery 版本complete
永远不会被调用。使用 jQuery 2,它可以工作并status
包含error
. 我无法更新 jQuery 版本。
是否可以修复由于 TCP 拒绝而导致 Ajax 失败的代码将被捕获?
这是我重现问题的代码的简化部分。它假设localhost:9999
被拒绝。
$(document).ready(function() {
$.ajax({
url: 'http://localhost:9999',
crossDomain: true,
dataType: 'script',
complete: function(XMLHTTPRequest, status) {
console.log(status);
},
});
});
我设置了一个http://jsfiddle.net/c2Yt6/在那里你可以测试它:即使使用 jQuery 1.6.4 也不起作用,但 jQuery 2.0.2 没问题。
如何捕获 TCP 拒绝错误?