如何使用browserHistory解析URL参数中的#hash?

时间:2017-03-20 16:55:27

标签: reactjs hash react-router

这就是我目前所拥有的:

mysite.com/documents/{documentName}

{documentName}通常是字母数字,但有时候用户用#hash标题来标题:'quote#1930'。 URL如下所示......

mysite.com/documents/quote#1930

我该如何处理?此时,验证文档名称不是我的客户端的选项。他想要#hash标签。

1 个答案:

答案 0 :(得分:1)

哈希标记#是网址中的特殊符号,用于分隔fragment identifier。基本上,如果您有网址http://www.example.org/foo.html#bar,则会导航到文档bar中标识为http://www.example.org/foo.html的元素。我不知道如何在不导致此行为的情况下在URL中包含#

通常,您将对字符串进行URI编码。字符#是一个特殊字符,因此要在URL中表示它,您可以将其编码为%23,例如mysite.com/documents/quote%231930。有一个JS函数encodeURIComponent可以为你执行编码。