我正在做一个ajax jsonp请求,但失败错误处理无法工作。如果请求是404或500,它将不会处理错误。
我一直在寻找找到一个答案,但没有找到任何东西。似乎有一个解决方案与http://code.google.com/p/jquery-jsonp/,但我找不到任何例子,如何使用它。
function authenticate(user,pass) {
$.ajax ({
type: "POST",url: "url",dataType: 'jsonp',async: false,//json object to sent to the authentication url
data: {"u": userid,"p": pass},success: function (data) {
//successful authentication here
console.log(data);
},error: function(XHR,textStatus,errorThrown) {
alert("error: " + textStatus);
alert("error: " + errorThrown);
}
})
}
解决方法
两种方式处理错误,
>跨域JSONP请求没有错误处理。在Github https://github.com/jaubourg/jquery-jsonp上使用jsonp插件,为错误处理提供支持。> jQuery ajax Timeout – 在一个合理的时间后触发错误回调的超时,因为它可能已默认失败。你可能不知道实际的错误(或错误状态)是什么,但至少你可以处理错误