嘿,我目前正在尝试使用延迟的when 和done 函数进行多个ajax 请求调用。但是,在某些请求中,我收到解析错误:readyState":4,"status":200,"statusText":"load"。
我尝试查看与我的问题类似的其他问题,并尝试以各种方式进行调试,但都未能成功。
这是我的 ajax 请求调用:
$.ajax({
'url' : message.action,
'data' : parameterMap,
'dataType' : 'jsonp',
'async' : 'true',
'jsonpCallback' : 'cb',
'cache': true
})
.done(function(data,textStatus, jqXHR) {
console.log("Success: " + textStatus);
//inserting data to map
var mapIndex = i.toString();
yelpResults = yelpResults.set(mapIndex, JSON.stringify(jqXHR));
}) //end of done
.fail(function(jqXHR, textStatus, errorThrown) {
console.log('error[' + errorThrown + '], status[' + textStatus + '], jqXHR[]');
})
);
该 ajax 请求被推送到一个列表中,该列表将返回并在此函数中使用:
var generateBusiness = function(term,subPointResults){
var promises = yelpSearch(term, subPointResults);
console.log("Generate business is being called");
$.when.apply(null, promises).done(function(){
// call
console.log("All requests done");
// findPriorityResuts(subPointResults);
yelpRequestCounter = 0;
});
}
我总共发出了 10 个请求,其中大约 5 个请求成功加载,其他请求因解析错误而失败。
如有任何建议,我们将不胜感激! :)
编辑:我已经成功解析了每个请求,但我以 1 秒的间隔调用每个请求。并希望找到一种不同的、并行的方式来做到这一点。
所以我知道这不是传入的数据。
谢谢!
最佳答案
由于 jsonp 请求实际上是脚本请求,而不是 ajax 请求,因此对多个请求使用相同的回调是不好的。
删除 'jsonpCallback' : 'cb'
并让 jQuery 动态创建,更重要的是,跟踪唯一的回调
关于javascript - AJAX获取请求JSONP解析器错误: readyState":4 ,"status":200 ,"statusText" :"load"}],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41669217/