我尝试通过jQuery .Ajax()请求一系列jsonp数据。出于某种原因,我必须将选项jsonpCallback设为'parseResponse'。我已经找到了一些奇怪的问题。
当我处理一个jsonp请求时,一切正常。但是当我尝试处理循环发出的一系列jsonp请求时,我发现了两个问题:
某些请求可以获得正确的响应,而其他请求则无法获得。请求可以成功似乎是随机的。(每次运行脚本的结果都不同)
每次运行脚本时都会触发一个且只有一个控制台错误(未定义未引用的ReferenceError:parseResponse)。即使循环发出了多个JSONP请求。
我确定jsonp网址的响应是正确的。我的代码在这里,您可以运行它并查看结果。
var url = "http://jsfiddle.net/echo/jsonp/";
aj('sigle');
for (var i = 0; i < 8; i++) {
aj('loop' + i);
}
function aj(s) {
$.ajax({
url : url,
dataType : 'jsonp',
jsonpCallback : 'parseResponse',
}).fail(function(jqXHR) {
console.log(s + ' - F');
}).done(function(res) {
console.log(s + ' - S');
});
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
为什么会这样?任何一种人都可以帮助我? Thankx。