gpt4 book ai didi

javascript - 如何使用javascript防止ajax响应中的window.onbeforeunload函数

转载 作者:行者123 更新时间:2023-11-30 12:33:07 25 4
gpt4 key购买 nike

我正在使用 java 脚本 window.onbeforeunload 函数在用户试图离开页面而不提交数据时向用户显示警报。此功能运行良好。

我遇到问题,当从服务器页面接收到 ajax 响应并将其放入成功回调函数中时,我使用 window.location.href 功能重新加载该窗口页面

window.location.href=baseurl+'index.php/functionname/'+arg_id;

当页面重新加载到另一个页面时,它显示了对话框部分这是我的 ajax 函数:

$.ajax({
type: "POST",
url: baseurl+"index.php/sample/samplefunction",
data: {"demo_detail":sse,'demo_detail':pro},
success:function(data) {
if(data) {
window.location.href=baseurl+'index.php/functionname/'+arg_id;
}
}
});

这是我的工作 window.onbeforeunload 功能

window.onbeforeunload = confirmExit;
function confirmExit()
{
return "You have attempted to leave this page. Are you sure you want to exit this page?";
}

如何防止 window.onbeforeunload 函数在 ajax 响应 中使用 javascript

最佳答案

您可以按如下方式使用全局变量:

var confirm = true;

在您的 ajax 响应中将 confirm 设置为 false,如下所示:

$.ajax({
type: "POST",
url: baseurl+"index.php/sample/samplefunction",
data: {"demo_detail":sse,'demo_detail':pro},
success:function(data) {
if(data) {
confirm = false;
window.location.href=baseurl+'index.php/functionname/'+arg_id;
}
}
});

在您的“comfirmExit()”函数中,检查是否尝试确认,然后只向用户发出警告。

window.onbeforeunload = confirmExit;
function confirmExit()
{
if(confirm)
return "You have attempted to leave this page. Are you sure you want to exit this page?";
else
return;
}

关于javascript - 如何使用javascript防止ajax响应中的window.onbeforeunload函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26994151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com