角度-URL参数不包含'=='

时间:2019-04-01 19:59:20

标签: angular http get request

我有这种格式的请求:

http://localhost:2534/members/all/33/AlzdpoiasklnlasEE==

但是,当我向API端点发送请求时,==总是丢失。

因此,参数值将仅为AlzdpoiasklnlasEE

我在这里错过了什么吗?

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

如果您尝试将其作为URL的一部分发送,则必须使用encodeURIComponent对其进行编码,因为它是保留字符。例如:

encodeURIComponent('AlzdpoiasklnlasEE==') // will return "AlzdpoiasklnlasEE%3D%3D"
  

URL不允许使用许多特殊字符,例如空格或斜杠。   但是,这些特殊字符是生活的一部分,因此需要URL。

您可以在服务器上使用decodeURIComponent来反转字符串的URL编码并获得正常的文本值。

在查询组件中为reserved和/或在URI / URL中具有特殊含义的字符:

 reserved    = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | ","

上面的“保留”语法类指的是URI中允许的那些字符,但是通用URI语法的特定组件中可能不允许的那些字符。并非在所有上下文中都保留“保留”集中的C 变容符。例如,主机名可以包含可选的用户名,因此它可能类似于ftp://user@hostname/,其中'@'字符有特殊的意义。