我正在使用 onbeforeunload 事件发送 ajax 请求来执行一些清理任务。
当我使用 onbeforeunload 时,它会显示关闭选项卡时的确认对话框。
我想要的不是显示任何确认对话框,而只是发送清理请求。以下是我正在使用的脚本。
window.onbeforeunload = unloadFunction;
function unloadFunction() {
var test_id = $('#test_id').val();
jQuery.ajax({
url: "/test/cleanup/" + test_id,
cache: false
}).done(function () {
return false;
});
return false;
}
有什么办法可以抑制确认对话框吗?
根据一些建议,我尝试将 return 语句更改为return ;
代替return false;
。但这也行不通。
根据我对原始帖子的评论,答案是通过添加来使调用同步async: false
在Ajax调用设置中,将最后的return false更改为return null;
,并删除 did 函数:
window.onbeforeunload = unloadFunction;
function unloadFunction() {
var test_id = $('#test_id').val();
jQuery.ajax({
url: "/test/cleanup/" + test_id,
cache: false,
async: false
});
return null;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)