解决easyui jQuery JS的for循环调用ajax异步问题
时间: 2023-08-21 11:02:33 浏览: 146
在使用 easyui 和 jQuery 的时候,通常会遇到需要在 for 循环中调用 ajax 异步请求的情况。由于 ajax 是异步的,如果直接在 for 循环中调用 ajax,会导致异步请求未完成就开始执行下一次循环,导致结果不符合预期。
解决这个问题的方法是使用闭包:
```javascript
for (var i = 0; i < items.length; i++) {
(function (i) {
$.ajax({
url: 'xxx',
data: { id: items[i].id },
success: function (res) {
// 处理返回结果
}
});
})(i);
}
```
通过使用闭包,可以将每次循环中的 i 值保存在不同的作用域中,避免了异步请求未完成就开始执行下一次循环的问题。
阅读全文