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