Удаление параметров запроса, вызывающих проблему при обновлении страницы
У меня есть URL с прикрепленной к нему строкой запроса. После загрузки страницы я удаляю параметр запроса, используя
history.replaceState("","",location.href.substring(0,location.href.indexOf("?")))
Но когда пользователь нажал кнопку "Обновить", он отображал экран ошибки из моего приложения, поскольку в URL не было ожидаемого параметра запроса. Я могу использовать пост-действие там, но я бы хотел, чтобы параметры запроса с обновлением страницы работали нормально. Есть ли решение для этого?
1 ответ
Если вы используете параметр запроса, а затем удаляете его, пользователь нажимает кнопку "Обновить", и возникает ошибка, говорящая о том, что он ожидает параметр запроса, тогда ваш код (и логика) отсутствуют.
Мое предложение, если вы хотите избежать параметра запроса после начальной загрузки страницы, это сохранить этот параметр в файле cookie или даже в сеансе, если есть кодовый фрагмент. Затем, если пользователь обновляется без параметра запроса, проверьте, существует ли файл cookie, если файл cookie существует, покажите им страницу в обычном режиме, если нет, укажите, что он не посещал URL-адрес по правильным каналам.
Однако, как я уже упоминал, я думаю, что ваша логика здесь ошибочна, потому что если пользователь хочет поделиться вашим URL с внешним миром, и вы удалили ключевую информацию, которая успешно загружает страницу, то у вас будет много смущенные люди на ваших руках
редактировать
Возможно, вы захотите изучить URL-адреса, оптимизированные для SEO, чтобы передать ваш запрос, поэтому вместо: yoururl.com/?firstname=joe вы можете сделать yoururl.com/firstname/joe