Javascript或Jquery检测页面刷新和重定向到错误页面-避免重复的数据提交

Javascript or Jquery to detect page refresh and redirect to error page - avoid duplicate data submission

本文关键字:提交 数据 检测 Jquery 刷新 Javascript 重定向 错误      更新时间:2023-09-26

尝试使用F5或F5刷新jsp页面时,jQuery重定向到错误页面浏览器刷新按钮:

function confirmExit() {
   alert("exiting");
   window.location.href='index.html';
   return true;
}
window.onbeforeunload = confirmExit;

上面的代码在页面刷新时发出警报,但window.onbeforeunload也是如此当保存按钮按下,页面没有重定向和重复数据提交时发出警报。我这样做是为了避免在刷新时重复提交数据。请帮助。

您不能对onbeforeunload事件进行重新定位。由于安全原因,浏览器根本不允许。(例如,我可以永远把你留在我的页面上。)

对于onbeforeupload,你唯一能做的就是询问用户是否确定你是否想退出。

您需要接受这样一个事实:通过刷新或其他方式,您几乎无法阻止用户发出HTTP请求。相反,您需要在服务器端解决这个问题,如果两次发出相同的请求,则重定向浏览器。


回答你关于保存按钮的问题(即使它可能不再相关)。

var saved = false;
function confirmExit() {
   if (saved) return;
   return "Are you sure you want to leave?";
}
window.onbeforeunload = confirmExit;
document.getElementById('#save').onclick = function() {
   saved = true;
}