zoukankan      html  css  js  c++  java
  • ajax请求加全局loading , 个别特殊请求不显示loading

    项目中,请求开始前加载loading遮罩层,请求结束关闭遮罩,一般都会加在全局中,但有个别请求不需要加全局loading 的话,这时候就需要对这些请求进行配置

    全局加loading:

    var loadingIndex = 0;
    
    function PageLoading() {
        loadingIndex = layer.load(0, {
            shade: [0.5, '#000']
        })
    }
    
    function RemoveLoading() {
        layer.close(loadingIndex);
    }
    
    // 正确写法,这样写,后面设置个别的时候就可以生效
    $(document).bind("ajaxSend", function () {
        PageLoading();
    }).bind("ajaxComplete", function () {
        RemoveLoading();
    });
    
    // 错误写法,如果直接这样设置了,再后面去设置个别的时候会不生效
    //$.ajaxSetup({
    //    global:true,
    //    beforeSend: function (e, o) {
    //        //ajax请求之前
    //        PageLoading();
    //    },
    //    complete: function () {
    //        //ajax请求完成,不管成功失败
    //        RemoveLoading();
    //    },
    //    error: function (XMLHttpRequest, textStatus) {
    //        //ajax请求失败
    //        RemoveLoading();
    //    }
    //});

    在不需要加载loading的ajax中设置

    $.ajaxSetup({ global: false });
    // 或
    $.ajax({
      url:url,
    method:'get',
    global:false,
    ...
    })

    设置这个之后,就会在当前请求时不加载全局的loading

  • 相关阅读:
    Linq系列:基础与本质(Part III)
    CLR系列:浅析委托
    8万亿 全球第二还是最二?
    CLR系列:窥视HashTable
    c#3.0系列:Anonymous Type In CLR(3.5)
    VC6 编译选项问题
    C++资源库不完全版本
    如何用C实现C++的特性
    几种用于WSN的仿真工具
    嵌入式编程的好资源
  • 原文地址:https://www.cnblogs.com/leiting/p/9579466.html
Copyright © 2011-2022 走看看