javascript - AJAX获取请求JSONP解析器错误: readyState":4 ,"status":200 ,"statusText" :"load"}]

标签 javascript jquery ajax

嘿,我目前正在尝试使用延迟的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/

相关文章:

javascript - JavaScript 中的组映射

java - Spring 3,将数据从jsp传递到 Controller

Javascript 数组迭代 - 内存问题

javascript - PHP中的JSON数组解析并在数据库中更新

javascript - jquery Accordion 式页面选项卡导航

PHP/jQuery AJAX JSON 错误

javascript - 可以为 jquery.ajaxSetup() 设置范围吗?

javascript - 如何禁用按钮/选项卡,直到满足条件

jquery - 有没有办法让 JQuery ajax 成功函数访问它所包含的对象?

javascript - 当其他 div 扩展 bootstrap 时,div 不会折叠