我正在尝试检测 SyntaxError
使用 jQuery 通过 JSONP 访问可能格式错误的资源时。
当我执行这样的事情时
try
{
$.ajax("http://www.google.com", {dataType:"jsonp"});
alert("good");
}
catch(e)
{
alert("bad");
}
我得到"good"
消息连同 Uncaught SyntaxError: Unexpected token <
来自www.google.com:1
。我想要得到的是"bad"
信息。我正在使用 Chrome,但如果可能的话,我想要一个跨浏览器解决方案。
有没有办法抑制SyntaxError
并检测返回的资源不是有效的 JSONP 文档?
最佳答案
window.onerror
捕获所有 JavaScript 语法错误。您可以像这样使用它:
$.ajax("http://www.google.com", {dataType:"jsonp"});
window.onerror = function(msg, url, linenumber) {
if((msg == "Script error." || msg == "Syntax error") &&
url.indexOf("http://www.google.com/") == 0) {
alert("bad");
}
}
关于jquery - 通过 JSONP 获取数据时检测 SyntaxError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14527046/