我有这个代码,它可以动态提交生成表单而没有问题。
var tempForm = $(document.createElement('form'));
$(tempForm).attr("action", "home.php");
$(tempForm).attr("target", "_blank");
$(tempForm).attr("method", "POST");
$(tempForm).submit();
但是如果我在ajax的回调函数中使用相同的代码,则chrome浏览器会显示弹出消息警告(弹出窗口阻止)。
var createReserveHandler = $.ajax({
type: 'POST',
url: 'ajax.php'
});
createReserveHandler.done(function(response) {
if (response.responseStatus == "successful") {
var tempForm = $(document.createElement('form'));
$(tempForm).attr("action", "toNewPage.php");
$(tempForm).attr("target", "_blank");
$(tempForm).attr("method", "POST");
$(tempForm).submit();
location.reload();
}
else {.....}
});
以这种方式提交的目标是我想打开一个新页面(目标_blank)然后重新加载原始页面,只有当ajax.php的响应成功时才会这样。
我必须做些什么来避免它?