有没有办法循环执行AJAX程序?


例如以下代码:

   
  function my_function()
  
{
for(...){
ajax();//此处ajax()为一个AJAX函数
}
}

有没有办法做到完全执行完一个AJAX函数后再进入下一个循环呢?

Ajax JavaScript

好人卡还我 11 years, 11 months ago

采用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);

YiZuKa answered 11 years, 11 months ago

Your Answer