我的最终目的是运行一个$.ajax()
调用,然后在其运行后打开一个新窗口。
用户点击“预览”按钮,保存他们当前的表单,然后打开一个显示刚刚保存数据的项目预览的新窗口。
但是,window.open
函数会被弹出拦截器阻止。
以下是我的代码的基本部分:
HTML:
<a href="/surveys/185/preview" class="preview" target="_blank">Preview</a>
JavaScript:
$('.preview').live('click', function(event){
save_survey($(this).attr('href'));
event.preventDefault();
});
function save_survey(url) {
$.ajax({
type: "POST",
url: form_url,
dataType: 'json',
data: form_data,
success: function(data) {
window.open(url, '_blank');
}
});
}