考虑到我之前没有定义回调方法和以下代码:
jQuery.ajax({
url: 'url',
type: 'GET',
data: {},
dataType: 'jsonp',
crossDomain: true,
jsonpCallback: callback,
async: true,
success: function ( pData ) {
//process success
},
error: function (jqXHR, textStatus, errorThrown) {
//Log error
}
});
jQuery正确地处理了ajax事件(成功/错误),没有任何错误。如果API文档中说jQuery不能这样做,那么jQuery为什么要这样做?有时我会得到parseerror,但我总是返回与JSON相同的内容。
有人经历过这种情况吗?
这取决于错误的类型。
当您使用JSONP时,jQuery可能会捕获(并且将捕获)解析错误。(在这种情况下,文件并不准确)
但是网络错误可能不会被捕获,因为JSONP不使用XMLHttpRequest,因此不会接收到任何可能指示错误的状态代码。