jQuery JSONP解析器错误。获取返回的数据 请考虑以下JavaScript < /P> $.ajax({ 网址:'http://www.example.com/jsfunc/mycallback', 是的, 数据类型:“jsonp”, jsonp:false,//由jsfunc/参数定义 jsonpCallback:“mycallback”, 超时:10000, 错误:函数(jqXHR、textStatus、errorshown){ window.console.log('JSONP错误:'+textStatus+''+errorshown); }, 完成:函数(jqXHR,textStatus){ log('JSONP已成功检索'); } }); window.mycallback=函数(数据){ window.console.log('带有'+数据的回调); }

jQuery JSONP解析器错误。获取返回的数据 请考虑以下JavaScript < /P> $.ajax({ 网址:'http://www.example.com/jsfunc/mycallback', 是的, 数据类型:“jsonp”, jsonp:false,//由jsfunc/参数定义 jsonpCallback:“mycallback”, 超时:10000, 错误:函数(jqXHR、textStatus、errorshown){ window.console.log('JSONP错误:'+textStatus+''+errorshown); }, 完成:函数(jqXHR,textStatus){ log('JSONP已成功检索'); } }); window.mycallback=函数(数据){ window.console.log('带有'+数据的回调); },jquery,jsonp,Jquery,Jsonp,在标准操作中,请求URL,点击mycallback并运行完整的函数 我遇到的问题是,有时URL返回的数据会触发错误parsererror mycallback未被调用。我想记录返回的数据,显然这个数据不包含mycallback({[…]}),因为回调没有被触发。由于这种情况只在重载情况下偶尔发生,我不知道服务返回的数据是什么,所以我想记录它,以便调试它 我已经看过jqXHR.responseText和jqXHR.responseXML,它们都是空的 如果jQuery JSONP请求返回的数据没有

在标准操作中,请求URL,点击mycallback并运行完整的函数

我遇到的问题是,有时URL返回的数据会触发错误parsererror mycallback未被调用。我想记录返回的数据,显然这个数据不包含mycallback({[…]}),因为回调没有被触发。由于这种情况只在重载情况下偶尔发生,我不知道服务返回的数据是什么,所以我想记录它,以便调试它

我已经看过jqXHR.responseText和jqXHR.responseXML,它们都是空的

如果jQuery JSONP请求返回的数据没有调用回调,如何检索它

非常感谢,

Pete

您是否调试了整个jqXHR对象以查看其包含的内容?如果出现错误,jqXHR对象似乎不会填充其响应属性。。。这给您带来了困难。@Greg我正在指定jsonpCallback并单独定义函数。我不确定这个问题的答案是如何关联的?@jeremyharris是的,我确实查看了jqXHR,但什么也看不到。你理解我的困难。我确实考虑过可能以文本/普通格式请求数据,然后尝试手动解析和处理错误,但我需要JSONP提供的跨域功能。@PeterHough抱歉,我不知道我在想什么。已删除。@PeterHough,因此我查看了jQuery源代码,我认为这是不可能的,因为它不存储原始响应,或者AFAIK提供了一种方法,在将响应从dom中擦除之前获取最初保存在其中的容器。抱歉:/尽管如此,请求失败的原因是因为首先没有响应,所以我认为尝试获取它是没有意义的。您是否调试了整个jqXHR对象以查看它包含什么?如果出现错误,jqXHR对象似乎不会填充其响应属性。。。这给您带来了困难。@Greg我正在指定jsonpCallback并单独定义函数。我不确定这个问题的答案是如何关联的?@jeremyharris是的,我确实查看了jqXHR,但什么也看不到。你理解我的困难。我确实考虑过可能以文本/普通格式请求数据,然后尝试手动解析和处理错误,但我需要JSONP提供的跨域功能。@PeterHough抱歉,我不知道我在想什么。已删除。@PeterHough,因此我查看了jQuery源代码,我认为这是不可能的,因为它不存储原始响应,或者AFAIK提供了一种方法,在将响应从dom中擦除之前获取最初保存在其中的容器。抱歉:/尽管如此,请求失败的原因是因为首先没有响应,所以我认为尝试获取它是没有意义的。