Html5 pushState and popstate. Какой правильный подход?
После клика на ссылку меняем урл, получаем данные и отображаем, все вроде бы хорошо, жмем кнопку назад и снова получаем данные и отображаем.
Но если на xhr запрос сервер отвечает 5хх, после этого мы посмотрим ещё одну страницу и попробуем вернуться назад, то открывается голая страница с ошибкой и при всех следующих кликах по кнопке назад урл меняется, но страница остается та же, с ошибкой.
Что это, как быть?
А нельзя при клике на ссылку получать данные, если данные получены "200 OK", то меняем адрес и выводим их.
Если данные получены с 5xx ошибкой, то выводим окошко уведомления, что ошибка и не меняет урл.
Соответственно 5xx страницы в историю не попадут.