微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

<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,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>

原文地址:https://www.jb51.cc/ajax/164257.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐