AJAX方法中提交请求,target="_blank" 不能正确打开新的浏览器窗口

3 篇文章 0 订阅
<script type="text/javascript">

问题描述:methodA 方法执行完毕,但是我们发现myForm的target="_blank" 并没有打开一个新的浏览器窗口,而是以openWin的方式打开了一个窗口展示,这是为什么呢?
function methodA(subjectId,courseWardId,courseId,stype){
 var tab=0;
 $.ajax({
  url:"***********",
  type:"post",
  dataType:"text",
  success:function(ref){
   if(ref=="1"){
     //返回值为1 则提交请求
       document.myForm.action="*************";
   document.myForm.target="_blank";
   document.myForm.submit();
     
   }else{
     alert(ref);
   }
  }
 });
}




网上很多资料说窗口被拦截之类,但是都么有提到我这样的问题,最有摸索将方法改为同步,声明一个全部变量tab,ajax方法执行完成后再执行提交,这样便可以正常打开新的浏览器窗口了


function methodA(subjectId,courseWardId,courseId,stype){
 var tab=0;
 $.ajax({
  url:"***********",
  type:"post",
  dataType:"text",
  async:false,
  success:function(ref){
   if(ref=="1"){
     tab=1;
   }else{
     alert(ref);
   }
  }
 });
 if(tab==1){//此处提交避免在ajax的success方法中执行,因为在ajax中target="_blank" 也会以openWin的方式打开
  document.myForm.action="*************";
  document.myForm.target="_blank";
  document.myForm.submit();
 }
}


</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值