为什么jQuery error在执行以下脚本时不会引发任何事件?
以为我已经注册了错误事件,但它没有被解雇.
chrome显示我在Network标签中出现以下错误Console.
GET http://www.google.com/adfdaf?callback=jQuery15204572567550931126_1321347602706&_=1321348668347 404 (Not Found)
JavaScript的:
$.ajax({
type: "GET",
url: 'http://google.com/adfdaf?callback=?',
dataType: "jsonp",
success: function (msg) {
console.log('Custom Domain validated successfully.');
},
error: function () {
console.log('Error occured while validating Custom Domain.');
}
});
Run Code Online (Sandbox Code Playgroud)
jQuery文档用于.ajax说明以下内容:
错误(jqXHR,textStatus,errorThrown)
请求失败时要调用的函数.该函数接收三个参数:jqXHR(在jQuery 1.4.x中,XMLHttpRequest)对象,描述发生的错误类型的字符串和可选的异常对象(如果发生).第二个参数的可能值(除了null)是"timeout","error","abort"和"parsererror".发生HTTP错误时,errorThrown会收到HTTP状态的文本部分,例如"Not Found"或"Internal Server Error".从jQuery 1.5开始,错误设置可以接受一系列函数.每个函数将依次调用.注意:不会为跨域脚本和JSONP请求调用此处理程序.
你可以.getJSON改用.例如:
$.getJSON("url?callback=?", function() {
//Success!
}).error(function() {
//Error!
});
Run Code Online (Sandbox Code Playgroud)
编辑
看起来这也无济于事.似乎解决方法是提供一个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.');
}
});
Run Code Online (Sandbox Code Playgroud)
显然,这并不理想,但错误处理程序将在5秒后运行.
| 归档时间: |
|
| 查看次数: |
1009 次 |
| 最近记录: |