ajax请求成功后打开新开窗口(window.open())被拦截的解决方法

问题:今天在做项目时需要在ajax请求成功后打开一个新的窗口,此时遇到浏览拦截了新窗口的问题,尝试在ajax 回调函数中模拟执行 click 或者 submit 等用户行为(trigger('click')),浏览器也会认为不是由用户主动触发的,因此不能被安全执行,所以被拦截。

解决方法:先创建一个新窗口,然后在回调函数中修改url

var new_window = window.open();
$.ajax({
url: "submit_already_save.html",
type: 'post',
dataType: 'json',
data:info,
error:function () {
new_window .close();
},
success:function(result){
new_window .location = "www.baidu.com;
}
});
上一篇:js获取当前域名、Url、相对路径和参数以及指定参数


下一篇:js获取当前域名、Url、相对路径和参数