假设我想重新加载www.domain.com/abc?num=4
但是我想重新加载www.domain.com/abc
(没有问号之后的所有内容)
答案 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 comment在qbert65536中所指出的,有许多流行的现代框架使用散列来表示视图和路径,这就是为什么单独使用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)
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">