2017-02-01 3 views
0

Когда форма отправлена ​​(ajax), я перехожу на другую страницу и, нажимая кнопку «Назад», форма снова отправляется.Предотвращение ввода ajax при нажатии кнопки «Назад»

Есть ли способ остановить запись ajax при нажатии на кнопку «Назад» в браузере?

Я использовал приведенный ниже код, чтобы остановить предыдущий запрос, но после этого в браузере отключены кнопка «Назад» и «Вперед».

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

Примечание: Я получаю этот вопрос только в chrome и safari.

+0

'OnClick = "history.back(); event.preventDefault();"' –

+0

, для которых OnClick элементов х? –

+0

для кнопки back button onclick –

ответ

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({}, ''); 
Смежные вопросы