Я пытаюсь обновить страницу на успех Ajax.window.location.replace не работает, если одна и та же страница перезагружается
var lastId = "#" + id;
window.location.replace("/myurl" + lastId);
Он пишет правильный URL-адрес моего браузера, но я не вижу внесенных изменений. Если я обновляю (F5) страницу, я вижу изменения правильно, потому что ajax был правильно отложен.
Так что я думаю, что страница не будет принудительно обновлять, если URL-адрес тот же.
В этом примере я уже нахожусь на http://mypage.com/myurl
, поэтому он перенаправляет меня на http://mypage.com/myurl#38174
, поэтому мой браузер сфокусирует элемент DOM на id="38174"
.
Как я уже сказал, если я отправлю запрос ajax, мой url изменится на http://mypage.com/myurl#38174
и сфокусирован id="38174"
, но я не вижу изменений, внесенных в этот элемент моей БД, если я нажму F5, он сфокусирует один и тот же элемент, но с правильно показанными изменениями.
Почему это происходит?
Я также пробовал с window.location.href
и window.location
без успеха.
Если я использую window.location.replace('http://stackoverflow.com');
он посылает меня на этот сайт правильно ...
Так что я думаю, что проблема при замене одного сайта + какой-то хэштегом ... может быть?
Как я уже сказал, в этом случае, в частности, нам нужно обновить после запроса AJAX, только если это успех, да, это звучит странно и контрпродуктивно, но это необходимо.
Обновление фрагмент URL не вызывает перезагрузку страницы - как вы» видел. Вам нужно будет изменить фрагмент, а затем вызвать 'window.location.reload()' вручную, однако это делает попытку сделать запрос AJAX довольно спорным. Общая идея заключается в том, что вы делаете запрос AJAX, который обновляет хранилище данных, а затем передает достаточную информацию для пользовательского интерфейса, чтобы обновить его. –
Почему вы заставляете перезагружать вызов ajax? Это похоже на противоположность того, что должен делать ajax-вызов. –
Не смысл ли использовать Ajax в том, что вам не нужно перезагружать? – Jono20201