0

我正在使用 Webapi 2.0。我传递了一个参数,其值为 vb/c4t+UuRLnQ2W/g8SQ== 模型绑定后,我在代码中将 authId 的值设为 vb/c4t UuRLnQ2W/g8SQ== (+) 符号被替换为空格。你能帮我看看我怎么能得到那个。

网址:api/employee/1234?authId=vb/c4t+UuRLnQ2W/g8SQ==

[HttpGet]
public IHttpActionResult Get(string eid, string authId)
{
}
4

1 回答 1

1

+符号在查询字符串中具有不同的含义。它用于表示空间。在查询字符串中具有语义重要性的另一个字符&是用于分隔var=value查询字符串中的各种对。

大多数服务器端脚本会在使用查询参数之前对其进行解码,以便将 a+正确转换为空格。现在,如果您希望+在查询字符串中出现文字,则需要指定%2B

例子yourString.replace("+","%2b")

替代方法:您应该URLEncode查询字符串值以确保您不会丢失内容。

另一种替代方法是创建自己的+符号代码。例如12sfdhjsj8722nsn2232dfsdd将代表一个+标志。所以你可以用代码替换+号,在你的服务器端你可以使用相同的代码取回它。

于 2018-10-23T05:43:02.073 回答