3

我正在使用next-routes并且我的应用程序 URL 需要接收参数作为包含 % 和 # 字符的名称。例如,“C#”、“100%”等。

所以它的 URL 如下所示。

  1. https://myapp.com/name/C#
  2. https://myapp.com/name/100%
  3. https://myapp.com/name/harry_potter

对于“C#”,我发现 getInitialProps 函数的查询值将仅为“C”(# 字符被剪切),对于“100%”,我发现下一个路由返回错误如下。由于 % 字符,在 decodeURIComponent 函数上发生 URI 格式错误。

https://user-images.githubusercontent.com/18202926/48536863-659f6d00-e8e2-11e8-8c64-a0180b51e921.png

如果我需要处理这两个字符,您能否建议我如何通过使用 next-routes 来处理它们?

注意。我在这里打开了下一条路线的问题

4

1 回答 1

1

您必须对 URI 组件进行编码,以便不使用特殊字符。

如果你必须得到它,它将C#被编码,依此类推。"C%23" 100%"100%25"

使用该encodeURIComponent()函数生成适当的 URI。

希望能帮助到你。如果需要,请参考:在 url 中转义特殊字符

于 2019-02-06T05:45:06.077 回答