如何在没有查询参数的情况下重新加载页面?

时间:2011-08-30 10:31:30

标签: javascript html

假设我想重新加载www.domain.com/abc?num=4

但是我想重新加载www.domain.com/abc(没有问号之后的所有内容)

14 个答案:

答案 0 :(得分:66)

window.location = window.location.href.split("?")[0];

答案 1 :(得分:22)

有几种方法可以解决这个问题:

window.location = window.location.href.split("?")[0];

或者,或者:

window.location = window.location.pathname;

答案 2 :(得分:9)

这是最好最简单的方法,

// similar to HTTP redirect
window.location.replace(location.pathname);

答案 3 :(得分:7)

我通常会尽量避免进行不必要的函数调用,特别是当我需要的信息已经由DOM提供给我时。也就是说,这可能是客观上最好的解决方案:

window.location = window.location.pathname + window.location.hash;

正如用户a commentqbert65536中所指出的,有许多流行的现代框架使用散列来表示视图和路径,这就是为什么单独使用window.location.pathname是不够的。

答案 4 :(得分:4)

试试这个Javascript:

location = location.pathname;

答案 5 :(得分:1)

我假设用户正在按下按钮以进行此刷新。如果按钮位于表单元素内,请确保按钮类型设置为“按钮”(下面的示例):

<button type='button' id='mybutton'>Button Name</button>

如果类型设置,则默认为type ='submit',并将作为表单提交按钮,从而在重新加载时为您提供网址中的所有额外参数。

之后,这是一个简单的javascript刷新调用:

window.location.reload();

答案 6 :(得分:0)

top.location.href = top.location.protocol+top.location.host+top.location.pathname

答案 7 :(得分:0)

document.location = String(document.location).replace(/\?.*$/, '');

答案 8 :(得分:0)

您可以将document.URL和split函数用于要加载的url,并使用window.location.href方法加载页面

答案 9 :(得分:0)

试试这个:

var url = 'www.domain.com/abc?num=4';
alert(url.split('?')[0]);

答案 10 :(得分:0)

var url="www.domain.com/abc?num=4";
window.location.href=url.replace(/^([^\?]+)(\??.*)$/gi,"$1");

答案 11 :(得分:0)

简单明了,刚刚测试过:

window.location.href = location.pathname;

答案 12 :(得分:0)

Reference

location.search = '';

或使用相对URL,但这会将?留在URL中 (Reference RFC1808

<a href="?">
// JavaScript
location = '?';

答案 13 :(得分:-2)

我真的不明白你的问题,但也许这会对你有所帮助:

<input type="button" value="Reload Page" onClick="window.location.href=www.domain.com/abc">