Подтвердить что ты не робот

JavaScript, чтобы перезагрузить страницу как запрос GET

У меня есть, казалось бы, простой вопрос, но я не могу найти ответ. У меня есть веб-страница, которая, возможно, возникла в результате запроса 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-адрес имеет привязку. Нужно ли мне действительно выполнять манипуляции с строкой, чтобы избавиться от "#whatever" или есть более простой, "лучший" способ сделать это?

4b9b3361

Ответ 1

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

function reloadAsGet()
{
    var loc = window.location;
    window.location = loc.protocol + '//' + loc.host + loc.pathname + loc.search;
}

Ответ 2

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

location.replace(location.href)

Ответ 3

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

location=location.href