我遇到查询字符串问题。我向电子邮件发送激活链接,该链接具有查询字符串,例如用户激活令牌。她是链接http://localhost:3000/#/activation?activation_code=27kVNlC4ShWuL4pkH3/FhVA==
的示例。但是当我点击链接时,浏览器会自动将查询字符串修改为http://localhost:3000/#/activation?activation_code=27kVNlC4ShWuL4pkH3%2FhVA
,这会导致加密错误。知道我怎么能得到实际的查询字符串。我使用angular作为前端和asp.net web API。
答案 0 :(得分:1)
您嵌入网址的激活码使用的是保留字符。请参阅此问题:What is a valid URL query string?
我建议您在将激活令牌附加到网址之前对其进行编码。
答案 1 :(得分:1)
您需要对令牌进行URL编码。它使用保留字符。
不要忘记使用encodeURIComponent()
对所有特殊字符进行编码。
答案 2 :(得分:0)
您可以使用:
Server.UrlDecode(activation_code)