代码之家  ›  专栏  ›  技术社区  ›  leora Matt Lacey

如何使Ajax回调触发另一个Ajax调用?

  •  0
  • leora Matt Lacey  · 技术社区  · 14 年前

    有没有方法让一个Ajax的回调触发另一个Ajax调用?还是会超出范围?

    3 回复  |  直到 14 年前
        1
  •  2
  •   Sky Sanders    14 年前

    当然。。。

    ...
    success: function(data){
         $.ajax({.....
    }
    ....
    

    如前所述,您的范围由闭包捕获。

        2
  •  1
  •   Matthew Flaschen    14 年前

    你应该能做到。闭包使一切都在范围内。

        3
  •  1
  •   Community Fabien Hure    7 年前

    除了 Matthew's answer ,也可以使用 setTimeout() 以预定义的间隔重复Ajax调用,如下例所示:

    function autoUpdate() {
    
       $.ajax({
          type: 'GET',
          url:  '/web-service/?no_cache=' + (new Date()).getTime(),
    
          success: function(msg) {
             // Add your logic here for a successful AJAX response.
             // ...
             // ...
    
             // Relaunch the autoUpdate() function in 5 seconds
             setTimeout(autoUpdate, 5000);
          }
       });
    }