按下后退按钮时阻止ajax发布

时间:2017-02-01 07:10:10

标签: c# jquery ajax browser

当表格发布(ajax)时,我正在导航到其他页面,同时按下后退按钮,表格再次发布。

有没有办法在点击浏览器中的后退按钮时停止ajax帖子?

我已使用以下代码停止上一个请求,但在浏览器中禁用此后退和前进按钮后。

window.onpopstate = function (e) {}; history.pushState({}, '');

注意:我仅在chromesafari中收到此问题。

1 个答案:

答案 0 :(得分:1)

正如this answer建议你假设你有这个ajax请求

var xhr = $.ajax({
  type: "POST",
  url: "some.php",
  data: "name=John&location=Boston",
  success: function(msg) {
    alert("Data Saved: " + msg);
  }
});

window.onpopstate = function(e) {
  //kill the request
  xhr.abort()
};
history.pushState({}, '');