您的位置:首页 > 其它

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

2014-10-24 14:38 519 查看
<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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐