栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

layui 中 layer踩坑,发送异步请求传输大数据前打开var loadIndex=layer.load()时,加载状态异常、失效

layui 中 layer踩坑,发送异步请求传输大数据前打开var loadIndex=layer.load()时,加载状态异常、失效

问题描述:

发送异步请求前打开var loadIndex=layer.load()时,当上传大文件时,加载状态异常、失效,当上传完毕时,加载状态才显示。小文件时显示正常。

原因:

使用jQuery发送发送ajax请求时,更改了默认的异步请求方式,采取了同步请求的方式导致当上传大文件时,由于js是单线程的,此时由于同步请求先执行,阻塞了layer.load()的执行,导致弹窗未能按照预期进行显示。 

$.ajax({
        	      type:'POST',
        	      url:'${basePath}/manage/user/importExcelOfUserDetail',
        	      data:formData,
// async: false, 为使用同步请求,此时会阻塞页面其他效果的展示, 例如 加载层被阻断
        	      async: false,  
                  success: function (result) {
                	  if(result.code == 0){ 
  						  
                	  }else{
                	  }
                	  
                   }
        	      ,complete: function(){
                        layer.close(loadIndex);
        	      }

解决办法:
  1. 使用默认的异步请求方式
  2. 或配置 async: true, 
//导入用户信息
                function importUserDetail(){

                var loadIndex=.load(layer0, {
                    shadeClose: false,
                    content: "正在导入,数据过多请稍等...",
                    shade: [0.5,'#000']
                });
                
                $.ajax({
        	      type:'POST',
        	      url:'${basePath}/manage/user/',
        	      data:formData,
// 此处不能使用同步,否则会阻塞页面其他效果的展示, 例如 加载层被阻断
        	      //async: false,  
                  cache: false,  
                  contentType: false,  
                  processdata: false,  //必须要
                  success: function (result) {
                	  if(result.code == 0){ 
  						  
                	  }else{
                	  }
                	  
                   }
        	      ,complete: function(){
                        layer.close(loadIndex);
        	      }
              });   
            }//

总结:

        真是让人头大!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/344326.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号