Javascript 在jQuery中发送多个ajax调用之前显示文本或预加载程序什么时候,然后执行函数?
我在when-then函数中有一个多个ajax调用的数组,希望在每次调用之前显示一个预订单或文本 让我们在每次打电话之前都说: 正在处理任务id 1。。。那么当完成的时候呢 正在处理任务id 2。。。等等,直到它被清除为止 我尝试在ajax调用中使用beforeSend,但始终显示第一个id,即1。 有什么想法吗Javascript 在jQuery中发送多个ajax调用之前显示文本或预加载程序什么时候,然后执行函数?,javascript,jquery,.when,Javascript,Jquery,.when,我在when-then函数中有一个多个ajax调用的数组,希望在每次调用之前显示一个预订单或文本 让我们在每次打电话之前都说: 正在处理任务id 1。。。那么当完成的时候呢 正在处理任务id 2。。。等等,直到它被清除为止 我尝试在ajax调用中使用beforeSend,但始终显示第一个id,即1。 有什么想法吗 var ids = [1, 2, 3, 4, 5]; // task ids var deferreds = []; // $.each(ids, function(i, id_tas
var ids = [1, 2, 3, 4, 5]; // task ids
var deferreds = [];
//
$.each(ids, function(i, id_task){
deferreds.push(
$.ajax({
type: "POST",
url: '/tasks/import',
data: $.param({id_task: id_task}),
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
// always displaying "processing task id 1..."
beforeSend: function(){
$('#iter_msgs').html("processing task id " + id_task + "...");
}
//
})
.success(function(response){
// more stuff
})
);
});
//
$.when
.apply($, deferreds)
.done(function(a) {
//
$('#iter_msgs').html('')
});
到目前为止,我希望实现以下等效功能,但使用when,then:
是否尝试将id_任务作为参数传递给beforeSend函数?
//
var id_task = 1;
$('#iter_msgs').html("processing task id " + id_task + "...");
//
$.ajax({
type: "POST",
url: '/tasks/import',
data: $.param({id_task: id_task}),
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
})
.success(function(response) {
$('#iter_msgs').html("");
});