#ajax #history_api #history
var counter = 1; $('button').click(function(){ $.ajax({ url: 'index.json', method: 'GET', success: function(res){ $('body').append(JSON.stringify(res)) if (!!(window.history && history.pushState)) { history.replaceState(null, null, '?page=' + counter); } counter++; } }); }); На сайте вылез косяк, связанный с тем что по нажатию на кнопку происходит подгрузка данных через ajax и обновляется история браузера через history api через метод replaceState, который перезаписывает истории. Проблема в том что если я нажимаю кнопку назад - то показывается не предыдущая страница , а результат ajax запроса. То есть в историю как будто записывается результат ajax, хотя url при этом корректный Это в chrome, в FF отлично работает и я вижу всю страницу. Попробовал воспроизвести на отдельно html-страничке - все гуд во всех браузерах - кто нибудь сталкивался с таким? Если меняешь GET запрос на POST, то все гуд Как будто история запоминает этот запрос GET запрос (воспроизводиться только в chrome)
Ответы
Ответ 1
Дело было в ajax. Он кеширует get запросы. Помог cache: false
Комментариев нет:
Отправить комментарий