Nir*_*pla 6 javascript jquery onbeforeunload
我正在使用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;
}
Run Code Online (Sandbox Code Playgroud)
有什么方法可以抑制确认对话框吗?
根据一些建议,我试图改变return语句return ;而不是return false;.但这也行不通.
根据我对原始帖子的评论,答案是通过添加async: falseAjax 调用设置来使调用同步,将最后一个 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;
}
Run Code Online (Sandbox Code Playgroud)