页面上面for(var i =0;i<9;i++){
$.ajax({
type:"post",
dataType:"xml",
async:false,
url:"xxxxx",
success:function(data){
.....
},
error:function(data){
.....
}
}).
这段时间一直被一个问题纠结着。本来是想for循环里面执行一次ajax然后ajax请求一下后台,后台给了返回信息,然后再执行下一次ajax请求,但是for循环执行前面几次还正常。但是当执行到后面比如说执行到第5次的时候,ajax不会跳转到那个url去,而是直接就返回error:funtion(){}了。不知道这是为什么?求解?
我在思考,是不是ajax调用得太快了。当调用成功一次之后,他的状态还没有从200变回来,就开始执行下一次的ajax了。这样他本身就当成是完成了调用了,但是调用的结果却没有,所以就执行了error:function了?
恩 我也感觉是for循环执行得太快了。现在的问题是这个定时器怎么来制定,我怎么知道后台什么时候能够给我返回。还有就是我刚才测试了下,error:function里面返回的status是200,但是url指向的后台代码根本就没有执行。奇怪了
追答你是依次执行吗?
可以设定为每秒执行一次,判断上一次是否执行成功,如果执行成功的话就进行下一次执行,否则的话就不执行。