内容简介: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错误?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 前端框架千千万,抓住两条主线成一半
- 如何抓住重点,系统高效地学习数据结构与算法?
- AI峰谷有时,如何抓住确定性探讨不确定性?
- 我不是针对Java,但抓住高并发的核心后,PHP完胜了
- 对比各类分布式锁缺陷,抓住Redis分布式锁实现命门
- 当面试官问你啥是Kafka的选举时,抓住机会“吊打”他!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
计算机程序设计艺术(第3卷 英文版·第2版)
Donald E.Knuth / 人民邮电出版社 / 2010-10 / 119.00元
《计算机程序设计艺术》系列被公认为计算机科学领域的权威之作,深入阐述了程序设计理论,对计算机领域的发展有着极为深远的影响。本书是该系列的第3卷,扩展了第1卷中信息结构的内容,主要讲排序和查找。书中对排序和查找算法进行了详细的介绍,并对各种算法的效率做了大量的分析。 本书适合从事计算机科学、计算数学等各方面工作的人员阅读,也适合高等院校相关专业的师生作为教学参考书,对于想深入理解计算机算法的读......一起来看看 《计算机程序设计艺术(第3卷 英文版·第2版)》 这本书的介绍吧!