为什么执行以下脚本时jQuery不会引发任何error
事件?
以为我已经注册了错误事件,但它没有被解雇。
chrome在Network
的{{1}}标签中显示以下错误。
Console
的javascript:
GET http://www.google.com/adfdaf?callback=jQuery15204572567550931126_1321347602706&_=1321348668347 404 (Not Found)
答案 0 :(得分:5)
.ajax
的jQuery文档声明如下:
错误(jqXHR,textStatus,errorThrown)
如果是,则调用的函数 请求失败。该函数接收三个参数:jqXHR(in jQuery 1.4.x,XMLHttpRequest)对象,描述类型的字符串 发生的错误和可选的异常对象(如果发生)。 第二个参数的可能值(除了null)是“超时”, “错误”,“中止”和“parsererror”。发生HTTP错误时 errorThrown接收HTTP状态的文本部分,例如 “未找到”或“内部服务器错误”。截至jQuery 1.5,错误 设置可以接受一系列功能。每个函数都会被调用 反过来。 注意:不会为跨域脚本调用此处理程序 JSONP请求。
您可以改用.getJSON
。例如:
$.getJSON("url?callback=?", function() {
//Success!
}).error(function() {
//Error!
});
修改强>
看起来这也无效。似乎解决方法是为timeout
提供.ajax
选项:
$.ajax({
type: "GET",
url: 'http://google.com/adfdaf?callback=?',
dataType: "jsonp",
timeout: 5000,
success: function (msg) {
console.log('Custom Domain validated successfully.');
},
error: function () {
console.log('Error occured while validating Custom Domain.');
}
});
显然,这并不理想,但错误处理程序将在5秒后运行。
答案 1 :(得分:0)
答案 2 :(得分:0)