2

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

前もって感謝します、
ピート

4

0 に答える 0