循环发送AJAX请求,变量问题

ajax请求有同步和异步两种方式:
1、异步请求是发送请求后不必等待服务器返回就执行后续操作。

2、同步请求就是发送请求后必须等待服务器返回结果后才继续执行。

ajax函数如下(jquery):

    function ajax() {
    $.ajax({
    type: "get",
    async: false,//设置为同步
    url: "test.html",
    success: function() {
    alert("success");
    }
    });
    };
  



如果ajax是异步请求,函数逻辑需要重新设计,需要在ajax返回中回调:
    (function(count) {
    var callee = arguments.callee;
    $.ajax({
    type: "get",
    async: true,//设置为异步
    url: "test.html",
    complete: function() {
    alert("success");
    callee(--count);//回调
    }
    });
    })(5);
    
  或者如下 (闭包解决)
for(var a in obj){
(function(a){
   $.ajax({
    type: "get",
    async: true,//设置为异步
    url: "test.html",
    complete: function() {
    alert("success");
    
    }
    });
})(a);
};


 
  

你可能感兴趣的:(Javascript)