问题:今天在做项目时需要在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;
}
});