相关疑难解决方法(0)

jQuery中的队列是什么?

我发现queue()/ 上的jQuery.com文档dequeue()太简单了.jQuery中的队列究竟是什么?我应该如何使用它们?

jquery

387
推荐指数
5
解决办法
11万
查看次数

快速进行多个AJAX调用

所以我有一个Web应用程序,它正在对一些API进行大约14-15次AJAX调用.问题是当我在浏览器中键入其URL时,所有AJAX调用所花费的时间几乎是每个API向我显示响应的时间的3倍.

我正在DOM Ready事件中立即进行所有AJAX调用.

问题是如何加快这个将15个AJAX调用放在一起的过程,尽可能快地获得响应并相应地操作DOM.

我脑子里想的几点:

  1. 所有AJAX调用本质上都应该是ASYNC.(已经这样做了).
  2. 不要同时进行所有AJAX调用.引发某种超时,因为同时进行所有AJAX调用可能会阻塞带宽并减慢进程的周转时间.
  3. 通过任何方式减少API调用的数量.(已经这样做了).
  4. 尽可能少地操纵DOM.(已经这样做了).
  5. 设置cache:true在AJAX设置.我不认为这会有所帮助,我仍然在做任何我确信内容更新真的很慢的地方.

任何建议都很有价值!谢谢.

我正在进行AJAX调用的方式

$(document).ready(function(){

    loadSentimentModule();
    loadCountModule();
    loadEntitiesModule();  
    // Some more function calls.

});

function loadSentimentModule(){

   $.ajax({
          url:someurl,
          cache:true,
          dataType:"json",
          success: function(data){

              // Based on data manipulating DOM.
          }

}

// Same kind of function defintions for all the functions.
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery

11
推荐指数
1
解决办法
4286
查看次数

将多个 AJAX 请求排队,等待响应而不冻结浏览器?

我正在编写一个脚本,我需要循环一组 AJAX 请求:

$('#fetchPosts').click(function(){ 

    for(var i=0; i < link_array.length; i++) {

        settings = {
           // some object not relevant
        }

        var status = main_ajaxCall(settings, i); // ajax call
     }
});

function main_ajaxCall(settings, i) {

   $.ajax({ 
     type: "POST",
     url: "../model/insert.php",
     data:{obj_settings: settings},
     dataType: "json",
     cache: false,
     success: function (data) {
         // some handeling here
         return 0;
     },
     error: function(XMLHttpRequest, textStatus, errorThrown) {
         return 1;
     },
};
Run Code Online (Sandbox Code Playgroud)

为什么 AJAX 请求会立即触发?它似乎没有等待 model/insert.php 的响应,有没有办法强制它在触发下一个 AJAX 请求之前等待响应?

编辑1:

看来我没说清楚,抱歉,我不想等,我想排队接听电话。

我无法一次性拨打电话,这在我目前的情况下是不可能的。

javascript queue ajax jquery

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

jquery ×3

ajax ×2

javascript ×2

queue ×1