JavaScript для перезагрузки страницы как запрос GET - PullRequest
14 голосов
/ 04 августа 2009

У меня, казалось бы, простой вопрос, но я не могу найти ответ. У меня есть веб-страница, которая может быть результатом запроса POST и может иметь привязку (#) в URL. Я хочу перезагрузить эту страницу как запрос GET в JavaScript. Так что это похоже на этот вопрос , но я на самом деле хочу избежать POST, а не просто предупреждение об этом.

Так, например, если страница вызвала запрос POST к «http://server/do/some?thing#", я хочу перезагрузить URL» http://server/do/some?thing" как GET. Если я попытаюсь

window.location.reload(true);

, который заставляет IE попробовать POST. Если я вместо этого сделаю:

window.location = window.location.href;

это ничего не делает, когда URL имеет привязку. Нужно ли мне самому манипулировать строками, чтобы избавиться от «# что бы то ни было», или есть более простой, «лучший» способ сделать это?

Ответы [ 3 ]

15 голосов
/ 04 августа 2009

Лучшее, что я придумал, это:

function reloadAsGet()
{
    var loc = window.location;
    window.location = loc.protocol + '//' + loc.host + loc.pathname + loc.search;
}
6 голосов
/ 21 апреля 2015

Попробуйте следующее:

location.replace(location.href)
0 голосов
/ 27 мая 2017

Вы можете попробовать это

location=location.href
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...