zoukankan      html  css  js  c++  java
  • 解决layui layer.load() Ajax提交时,只在结束闪一下

    因为后台处理事务一般要一点时间,所以前台会用个Loading爱的魔力转圈圈提高用户体验。

    一般这种情况,大家常规操作就是在Ajax前加上load,ajax的success或者complete中close它即可。

    最近写了个Bug,就是圈圈不转,只在结束时闪一下。找了半天……发现是自己弱智了。

    解决办法     Ajax设置为异步请求!!!async : true,
    理解起来也很简单,设置为同步时,前台会卡死一切进度,直到后台返回数据,这时设置的load也被卡死了,直到数据返回的时候才释放,所以开启和结束就在一瞬间。就会闪一下。

    如果后台处理时间很短,那么同步异步基本没区别,反正就是秒男一瞬间。时间长了大家就要注意一下了。完整代码如下

              $("#query").click(function(){
                var query_index = $("#query_index").val();
                var query_index_data = {"query_index": query_index};
                //loading层
                var layer_index = layer.load(1, {
                      shade: [0.1,'#fff'] //0.1透明度的白色背景
                });
    
                //如果是默认值,点击查询按钮,就直接刷新页面
                if (query_index == "") {
                    reloadPage();
                } else {
    
                    $.ajax({
                        type:'POST',
                        async : true, //必须设置为false,才能实现data全局变量赋值
                        url:'{{url_for("get_data_by_index")}}',
                        data:JSON.stringify(query_index_data),
                        contentType:'application/json; charset=UTF-8', //指定传递给服务器的是Json格式数据
                        dataType:'json',
                        success:function(data){
                            if (data["data_details"].length != 0) {
                              //关闭layer
                              layer.close(layer_index);
                              
                              toastr.success(last_time+' 的健康度评分查询成功!');
    
                            } else {
                              toastr.warning(last_time+' 的健康度评分查询数据为空!');
                            }
                        },
                        error:function(e){
                            toastr.error('查询失败!');
                        }
                    });
    
                  }
               
    
              });

     参考:https://blog.csdn.net/qq_36752486/article/details/102956154

  • 相关阅读:
    用mescroll实现无限上拉增加数据,下拉刷新数据 (学习笔记)
    jackson使用问题:mapper.readValue()将JSON字符串转反序列化为对象失败或异常
    常用 NHibernate.Criterion
    Threading
    并口
    电子称 弹钱箱脉冲
    ZIP文件解压
    wpf 异步加载 只需6段代码
    Newtonsoft.Json使用
    接口post +json +bean
  • 原文地址:https://www.cnblogs.com/GumpYan/p/12665052.html
Copyright © 2011-2022 走看看