如何使用下一路线处理%和#个字符

时间:2019-02-06 05:40:40

标签: reactjs next.js

我正在使用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%”,我发现下一路返回错误如下。由于%字符,URI格式错误。

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

如果我需要同时处理这两个字符,请问我如何通过下一条路线处理它们?

NB。我在下一路线here

上打开了问题

1 个答案:

答案 0 :(得分:0)

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

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

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

希望有帮助。 如果需要,请参考:[escaping special character in a url]