请考虑以下 JavaScript
$.ajax({
url: 'http://www.example.com/jsfunc/mycallback',
cache: true,
dataType: 'jsonp',
jsonp: false, // defined by jsfunc/ argument
jsonpCallback: "mycallback",
timeout: 10000,
error: function(jqXHR, textStatus, errorThrown) {
window.console.log('JSONP Error: ' + textStatus + ' ' + errorThrown);
},
complete: function(jqXHR, textStatus) {
window.console.log('JSONP was retrieved successfully');
}
});
window.mycallback = function(data) {
window.console.log('Callback with ' + data);
}
在标准操作中,请求 URL,mycallback 命中并运行完整的函数。
我遇到的问题是 URL 有时会返回触发错误parsererror mycallback was not called的数据。我想记录返回的数据,显然这个数据不包含 mycallback({[...]}) 因为回调没有被触发。由于这种情况仅在负载较重的情况下偶尔发生,而且我不知道服务返回的数据是什么,所以我想记录它以便调试它。
我查看了 jqXHR.responseText 和 jqXHR.responseXML ,它们都是空的。
如果 jQuery JSONP 请求返回的数据没有调用回调,如何检索?
非常感谢,
皮特