多个ajax请求按顺序执行回调

我们知道ajax在浏览器中是被异步处理的,也就是说,他是按照先响应先处理的,并不是先请求先处理的。

但是有些业务我们需要按顺序来处理,是有先后的,我们有以下两种方式。

jquery > 1.5.0

1、当我们要确保执行顺序时,设置 async=false,就是同步请求了

	ajax1 = $.ajax({
        async: false,
        url: url1,
        dataType: 'json',
        type: 'post',
        success: function(data){

        },
        error: function(data){

        }
    }),

    ajax2 = $.ajax({
        async: false,
        url: url2,
        dataType: 'json',
        type: 'post',
        success: function(data){

        },
        error: function(data){
            
        }
    }),

    $.when(
        ajax1,
        ajax2
    )
    .done(function(){
        alert('done');
    })
    .fail(function(){
        alert('fail');
    });

你可能感兴趣的:(WEB前端)