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

前端之家收集整理的这篇文章主要介绍了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.f2er.com/ajax/164257.html

猜你在找的Ajax相关文章