在for循环中执行ajax请求,在项目中发现这样只能执行第一个请求,后面的请求都是失败的。原因是ajax的执行是异步,第一次循环结束时,对应的第一次请求还没有完成,但是这时候已经开始第二次循环了,当执行第二次请求时,ajax有可能还在执行第一次请求,所以这就导致了后面的请求都失败了。
解决办法很简单,改为同步ajax就可以了。
$.ajax({
url: url,
type: 'POST',
data: param,
async: false, // 同步请求
success: function(res) {
console.log(res)
}
})