我有这样的网址
/users/?i=0&p=90
如何在js中删除
中的部分? to 90
任何人都可以给我看一些代码吗?
修改
我的意思是用window.location.href这样做(所以直接在浏览器url栏中)
我试过
function removeParamsFromBrowserURL(){
document.location.href = transform(document.location.href.split("?")[0]);
return document.location.href;
}
我也不想重定向,所以只需清理网址?结束
答案 0 :(得分:4)
function removeParamsFromBrowserURL(){
return window.location.href.replace(/\?.*/,'');
}
答案 1 :(得分:2)
如果您只想要/users/
部分:
var newLoc = location.href.replace( /\?.+$/, '' );
你也可以拆分字符串,并返回第一部分:
var newLoc = location.href.split("?")[0];
或者您可以将所有内容与问号相匹配:
if ( matches = location.href.match( /^(.+)\?/ ) ) {
alert( matches[1] );
}
答案 2 :(得分:1)
一种方式是leftside = whole.split('?')[0]
,假设没有?在所需的左侧
这将从网址中删除?...并自动将浏览器重新加载到已剥离的网址(无法让它在JSFiddle中工作)我在下面的代码中有一个文件,并放一些?a = b内容然后手动点击按钮。
<html>
<head>
<script type="text/javascript">
function strip() {
whole=document.location.href;
leftside = whole.split('?')[0];
document.location.href=leftside;
}
</script>
</head>
<body>
<button onclick="strip()">Click</button>
</body>
</html>
答案 3 :(得分:0)
如果你只想要/ users /部分,那么你可以将它子串起来:
var url = users/?i=0&p=90;
var urlWithNoParams = url.substring(0, url.indexOf('?') - 1);
将字符串从索引0提取到'?'之前的字符字符。
答案 4 :(得分:0)
无论我使用哪种网址重定向,我都遇到了#page来回引用的问题。这解决了一切。
我使用了这样的脚本:
<script type="text/javascript">
function strip() {
whole=document.location.href;
leftside = whole.split('#')[0];
document.location.href=leftside;
}
</script>
<a onclick="strip()" href="http://[mysite]/hent.asp" >Click here</a>