2015-04-28 166 views
1

有没有办法删除下面代码的URL中的#符号?从Location.Hash中删除标签

$('input').on('keyup', function (event) { 
    var hashLink = "?" + $(this).attr("name") + "=" + $(this).val(); 
    location.hash = hashLink; 
}); 

如果在Input中输入名称“David”,我会在URL中收到下面的响应。

http://localhost:51746/#?FirstName=David

我试图把.substring(1)在hashLink的结束,但它仅删除?符号。

有没有简单的方法来删除#,而为var hashLink的字符串拉?

谢谢!

回答

1

这就是一个散列,#符号。如果你想刚才设置的查询字符串你这样做,通过改变location.search未散,但并重新加载页面,因为它应该

$('input').on('keyup', function (event) { 
    var hashLink = $(this).attr("name") + "=" + $(this).val(); 

    window.location.search = hashLink; 
}); 
+0

我试图设置查询字符串无需重新加载页面,因为我想这与ajax请求一致。我不确定是否有方法使用子字符串或切片来删除哈希。我尝试了多种方式,但都不成功。 – cs03295

+0

有没有简单的方法来改变URL而不重新加载页面,除了改变散列,而散列需要使用'#'字符,这就是告诉浏览器不要重新加载页面,所以你不能删除并在不重定向浏览器的情况下更改网址。那么,如果你使用历史API,你可以,但是这一切都不一样。 – adeneo