2017-04-07 45 views
0

我想重定向到同一页面,但添加了一些查询字符串值。试图重定向到同一页面,但查询字符串值

如果已经有一个查询字符串值,我想删除它并添加一个新的。

我的代码目前不工作,不知道为什么:

var url = window.location.href; 
if(url.indexOf("?") > 0) { 
    url = url.substring(0, url.indexOf("?")); 
} else { 
    url += "?joined=true"; 
} 
window.location.replace(url); 
+0

顺便说一句,请注意'.indexOf()'返回-1如果没有找到子字符串,那么通常情况下,您会使用条件'> -1'或'!= -1'。 (这个例子并不重要,因为你的URL不会有'?'作为它的第一个字符,但仍然是......) – nnnnnn

回答

4

的问题是,当你脱掉旧的你没有添加新的查询字符串,只有当else条款没有旧的查询字符串。从else中挑选出来,所以你一直都这么做。

var url = window.location.href; 
if(url.indexOf("?") > 0) { 
    url = url.substring(0, url.indexOf("?")); 
} 
url += "?joined=true"; 
window.location.replace(url); 
相关问题