代码之家  ›  专栏  ›  技术社区  ›  Sphvn Frebin Francis

是否可以用javascript判断是否有正在进行的“GET”请求?

  •  0
  • Sphvn Frebin Francis  · 技术社区  · 15 年前

    我觉得不是。基本上我不想提出单独的要求,而其他“更重要”的要求,因为这一个是相当沉重的。因此,我很好奇是否有可能判断当前是否有“get”请求正在进行,是否可以告诉我的函数推迟此更新,并在10-15秒后再次执行此更新。

    5 回复  |  直到 15 年前
        1
  •  3
  •   Teja Kantamneni    15 年前

    我认为你不能只用javascript来完成这项工作。您可以使用类似jQuery的框架,并使用类似于 ajax manager .

        2
  •  2
  •   generalhenry    15 年前

    我不知道有什么内置的api,但它只不过是为它设置一个全局标志。

    var get = 0;
    
    function somethingeasy() {
      get++;
      $.get(somethingeasy, function() {
        get--;
        stuff;
      });
    };
    
    function somethinghard() {
      if(get)
      {
         setTimeout('somethinghard',1000);
         return false;
      }
      get++;
      $.get(somethinghard, function() {
        get--;
        stuff;
      });
    };
    
        3
  •  1
  •   Josh Stodola    15 年前

    如果所有的AJAX调用都是使用jQuery进行的,则可以使用 ajaxSend() 事件。。。

    $.ajaxSend(function(e, xhr, settings) {
      if(settings.method == "GET") {
        alert("GET request is being made...");
      }
    });
    
        4
  •  0
  •   Tom Clarkson    15 年前

    您可以使用ready/load事件来检查何时完成请求,而不是直接查找请求—大概您知道要等待哪些对象。如果要等待加载所有图像,请在调用document.load之后再运行代码。

        5
  •  0
  •   Sphvn Frebin Francis    12 年前

    jQuery 2+您可以使用:

      $(document).ajaxStart(function(){
        return console.log("an ajax event started");
      });
      $(document).ajaxStop(function(){
        return console.log("all ajax events stopped");
      });