ajax 遮罩层总是在执行完后显示或显示不出来

1 篇文章 0 订阅
1 篇文章 0 订阅

ajax 遮罩层总是在执行完后显示或显示不出来

在前端ajax代码中,遇到一个问题 :遮罩层(showMask)总是在执行完所有代码后才显示,或着是压根显示不出来; 原来是 异步提交 问题一定要注意

改之前 ajax如下:


			if(Is_Login()){
				   showMask("#mask", ".copy_div");
				   $.ajax({
						type: "post",
						async: false, 
						url: url_98 + "FileServlet.do",
						xhrFields: {
							withCredentials: true
						},
						crossDomain: true,
						data: {
							"method":"cmpPrint",
							"yydh": yydh,
							"copy": "1" 
						}
				   }).done(function (data) {
				        closeMask("#mask",".copy_div");
						console.log("cmpPrint:" + data);  
						var json = JSON.parse(data);
						//*********获取地址
						copyPDF = json.path; //pdf地址 
					    var aux = document.createElement("input"); 
					    aux.setAttribute("value", copyPDF); 
					    document.body.appendChild(aux); 
					    aux.select();
					    document.execCommand("copy"); 
					    document.body.removeChild(aux);	
					    Toast("复制成功", 3000);					
						//alert("复制成功!");
						//*********获取地址
						if(json.status == "ok"){
							//阻止事件冒泡
							stopBubble(event);
						}else{
							Toast("系统错误,请联系管理员", 3000);
							stopBubble(event);
						}
						
					}).fail(function (data) {
						closeMask("#mask", ".loginLoad");
						showMask("#mask", ".errorDiv");
						$(".errorDiv>p").text("抱歉,服务器错误");
						$(".alertImg").attr("src", "images/alert.png");
						//点击提示框关闭按钮
						$(".closeBtn").click(function () {
							//关闭遮罩层和提示框
							closeMask("#mask", ".errorDiv");
							closeMask("#mask", ".loginLoad");
						});
				   });
			}

如下:把 同步提交 改作 异步提交 即可

      async:true, 

(bug改后再回头来看觉得真的好蠢 )

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值