React 路由参数自动解码字符串

2024-04-09

您好,反应路由器参数会自动解码字符串吗?

例如我有这条路线

<Route path="/callback/:url"/>

当我用它来称呼它时C5jb20%3D

它会打印C5jb20=当我 console.log() 参数

这是预期的行为吗?我可以更改此行为以便仍然获得编码的字符串吗?

Thanks!


C5jb20%3D是 URL 编码字符串,这是对 URL 中的特殊字符进行编码的一种方法。例如,如果您有一个类似的 URL 参数?redirect=/some/path,服务器可能会将正斜杠解释为路由路径,并扰乱预期的路由。这就是为什么你会看到类似的东西?redirect=%2Fsome%2Fpath,以及您的示例,在 URL 中。

window.location.path将具有原始的、未编码的 URL。

你也可以通过以下方式取回它encodeURIComponent https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent:

encodeURIComponent('C5jb20=') // "C5jb20%3D"

不过,您可能不想这样做,具体取决于您的用例。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

React 路由参数自动解码字符串 的相关文章

随机推荐