内容简介:http://stackoverflow.com/questions/18864734/how-can-i-catch-jquery-ajax-errors
当一个AJAX请求被提交到一个站点时,服务器端的错误很容易用jQuery承诺方法处理. .done(),.fail()等.但是,对于某些请求(例如,到无效站点或不接受跨源请求的请求),在进行呼叫时立即发生异常.以下是控制台中一个错误的示例:
XMLHttpRequest cannot load http://someotherserver/api/blahblah
. Origin
http://localhost:52625
is not allowed by Access-Control-Allow-Origin.
是的,我知道CORS …这不是问题.我正在做的是尝试网络api调用来测试服务器IP /名称是否正确
我知道jQuery请求语法中的错误选项:
$.ajax({
url: remoteURL,
type: 'GET',
error: function (err) {
console.log("AJAX error in request: " + JSON.stringify(err, null, 2));
}
}).etc.etc.
错误在这里处理,但异常仍记录在控制台中.将这些包装在try-catch块中似乎是合理的,但这似乎没有帮助.
我发现了 this question ,但解决方案涉及到黑客jQuery代码.当然有更好的方法来捕捉这些错误,而不是堵塞控制台日志?
尝试这个:
$.ajax({
url: remoteURL,
type: 'GET',
error: function (err) {
console.log("AJAX error in request: " + JSON.stringify(err, null, 2));
}
}).always(function(jqXHR, textStatus) {
if (textStatus != "success") {
alert("Error: " + jqXHR.statusText);
}
});
XHR听众:
$.ajax({
url: remoteURL,
type: 'GET',
xhr: function(){
var xhr = new window.XMLHttpRequest();
xhr.addEventListener("error", function(evt){
alert("an error occured");
}, false);
xhr.addEventListener("abort", function(){
alert("cancelled");
}, false);
return xhr;
},
error: function (err) {
console.log("AJAX error in request: " + JSON.stringify(err, null, 2));
}
});
http://stackoverflow.com/questions/18864734/how-can-i-catch-jquery-ajax-errors
以上所述就是小编给大家介绍的《javascript – 如何抓住jQuery AJAX错误?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
软件人才管理的艺术
Michael Lopp / 罗小平 / 人民邮电出版社 / 201008 / 35.00元
本书作者具有15年的硅谷人才管理经验,他在博客上发表了大量探讨软件人才的管理之道的文章,深受读者欢迎。本书素材取自他的博客文章,用深入浅出的语言,讲述发人深思的道理,具有很强的现实操作性。 本书分为三大部分:“管理的箭袋”、“过程就是产品”、“你的其他版本”。前两部分分别讲述了人员与产品的管理,第三部分除了讨论管理之外,还讲述了如何有针对性地准备简历和电话面试,来提高自己面试成功的几率。书中......一起来看看 《软件人才管理的艺术》 这本书的介绍吧!