【发布时间】:2020-06-05 14:03:59
【问题描述】:
我是新来的。
$.each(a, function (i, obj) {
$('#labelid').html("inserting this data: "+obj.somedata);
// some other code
$.ajax({
// ajax request with insert
});
});
我有一个 each 循环,其中有一个 ajax 请求,它只插入一些数据,以及一些其他代码,主要用于更改一种“状态”标签(“插入这个:(一些数据)”)。
我的问题是当循环执行时,除了 ajax 请求之外,其中的代码一直迭代到最后,在我的标签中显示类似“插入这个:(最后一个元素行)”,而 ajax 请求仍在运行在后台。
我想实现这样的目标: 1. 标签显示“插入第一组数据” 2. ajax 请求插入第一组数据 3. 标签显示“插入第二组数据” 4.ajax请求插入第二组数据
这可能吗?我不想使用 async: false。
谢谢
【问题讨论】:
-
那么,你的意思是要延迟循环执行,直到循环内的ajax函数完成?
-
@palaѕн 是的,我愿意
-
对于 ajax 选项添加 async: false,
-
jQuery AJAX函数的异步设置默认值为true
-
为什么不想使用 async:false?
标签: javascript jquery ajax each