美文网首页
在所有的ajax加载完成后再执行其他函数

在所有的ajax加载完成后再执行其他函数

作者: duadu | 来源:发表于2016-11-30 14:09 被阅读63次

做一个查询页面时碰到的问题:在所有条件(一些下拉框、模糊搜索等等)加载完成后,才能点击搜索按钮。所以百度了一番,找到了一些解决方案,但是因为这些条件中使用了插件,所以并不适用(从来不否认自己菜ㄒoㄒ),但是后来还是想到了一个解决办法_,留个脚印~~

百度来的方案:

var finish=0,count=3;
$.get(url1,function(){
    if(finish==count){
        //执行全部加载后方法
    }
});
$.get(url2,function(){
    if(finish==count){
        //执行全部加载后方法
    }
});
$.get(url3,function(){
    if(finish==count){
        //执行全部加载后方法
    }
});

我的方案:

var isAjaxOver = [];
$.ajax({
    url: '',
    type: 'post',
    dataType: 'json',
    data: data
}).done(function(res) {
    //done
}).fail(function() {
    //fail
}).always(function() {
    isAjaxOver.push('one');
    window.isAjaxFun(isAjaxOver);
});
window.isAjaxFun = function (isAjaxOver) {
    console.log(isAjaxOver);
    //num: 你的ajax数据
    if (isAjaxOver.length == num) {
        $('#search').html('查询').attr('disabled', false);
    }
}

相关文章

网友评论

      本文标题:在所有的ajax加载完成后再执行其他函数

      本文链接:https://www.haomeiwen.com/subject/lcktmttx.html