Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在jQuery中发送多个ajax调用之前显示文本或预加载程序什么时候,然后执行函数?_Javascript_Jquery_.when - Fatal编程技术网

Javascript 在jQuery中发送多个ajax调用之前显示文本或预加载程序什么时候,然后执行函数?

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

我在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_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("");
    });