次の 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 リクエストによって返されたデータがコールバックを呼び出さない場合、どのように取得できますか?
前もって感謝します、
ピート