当表格发布(ajax)时,我正在导航到其他页面,同时按下后退按钮,表格再次发布。
有没有办法在点击浏览器中的后退按钮时停止ajax帖子?
我已使用以下代码停止上一个请求,但在浏览器中禁用此后退和前进按钮后。
window.onpopstate = function (e) {}; history.pushState({}, '');
注意:我仅在chrome
和safari
中收到此问题。
答案 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({}, '');