Ответ 1
Лучшее, что я придумал до сих пор:
function reloadAsGet()
{
var loc = window.location;
window.location = loc.protocol + '//' + loc.host + loc.pathname + loc.search;
}
У меня есть, казалось бы, простой вопрос, но я не могу найти ответ. У меня есть веб-страница, которая, возможно, возникла в результате запроса 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" или есть более простой, "лучший" способ сделать это?
Лучшее, что я придумал до сих пор:
function reloadAsGet()
{
var loc = window.location;
window.location = loc.protocol + '//' + loc.host + loc.pathname + loc.search;
}
Попробуйте следующее:
location.replace(location.href)
Вы можете попробовать это
location=location.href