jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jQuery中的多个AJAX请求从多个页面获取相同类型的信息大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有问题优化此功能,该功能从多个页面上的API收集 JSON数据.没有机会获得该API的所有列表.所以我需要向每个页面发送请求(它可以从0到∞),当我得到响应时 – 只需将所有内容放在一个对象中.这个功能有效,但我需要优化它以通过每个页面并提出请求,直到我收到信息.感谢帮助:)

$.getJSON('link.json&page=1',function(data) {

  $.getJSON('link.json&page=2',function(data2) {

    $.getJSON('link.json&page=3',function(data3) {

     var newObj = data.events.concat(data2.events).concat(data3.events);
     jsondata.render(newObj);      

    }).fail(function(jqXHR) {
        var newObj = data.events.concat(data2.events);
        jsondata.render(newObj);        

        //alert("3 page Not Found");
    });    


  }).fail(function(jqXHR) {
      jsondata.render(data.events);

      //alert("2 page Not Found");
  });    

}).fail(function(jqXHR) {
  //alert("1 page Not Found");
});@H_673_8@

解决方法

绝对不是这里最好的解决方案,但我想在这里给出一个例子,它可以帮助你进一步:

var allData = []; // In here we are storing data

function getJSON(pagE) {
    $.getJSON('link.json&page=' + page,function(data) {
        if (data.events.length > 0) { // Not an empty array
            allData.push(data);       // Push received data to array
            getJSON(++pagE);          // Recursive          
        } else {
            console.log('Ok,we are done here');
        }
    });
}

getJSON(1);@H_673_8@ 
 

使用此递归函数,只要服务器的响应为正,您就会调用它自己.在每次成功请求之后,至少在这种情况下,您将响应存储到数组中(但可以更改为其内容).

但是,这里可能存在一些问题.例如,它在3后执行某些操作,但您无法确定它是否足以从服务器检索所有信息.

大佬总结

以上是大佬教程为你收集整理的jQuery中的多个AJAX请求从多个页面获取相同类型的信息全部内容,希望文章能够帮你解决jQuery中的多个AJAX请求从多个页面获取相同类型的信息所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。