项目中遇到,点击了按钮后,根据接口返回状态打开新页面。window.open可以实现,不过浏览器会阻止,那就绕道而行。
业务场景:点击提交按钮后,根据请求接口的返回不同状态,弹出提示层或者打开新页面。
html示例代码:
<a id="Btn" target="_blank" href="https://www.baidu.com/">我是按钮</a>
js示例代码:
var btnObj = document.getElementById('Btn');
btnObj.onclick = function(){
var flag=true;
$.ajax({
url:url,
async:false,
success:function(d){
if(d){
//逻辑代码
}else{
flag=false;
}
}
})
return flag;
}
实现原理
1、通过return false;和return true;控制a标签的跳转
2、ajax请求需要设置为同步请求(示例中用的是jquery,可根据实际需求进行设置)