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

  • 相关阅读:
    Chrome控制台JS设置xpath定位
    logging.exception
    python去除换行和空格
    从剪切板获取的内容无法使用type函数得到数据类型
    python获取剪切板的内容
    hdoj Radar Installation
    hdoj- Windows Message Queue
    hdoj-看病要排队
    hdoj-1896 stones
    评委会打分
  • 原文地址:https://www.cnblogs.com/leiting/p/9579466.html
Copyright © 2011-2022 走看看