一、描述问题
当传递的参数中含有+、空格、=、%等字符的时候,前台将参数传给后台的时候,就会对其进行编码,具体如下:
+ URL 中+号表示空格 %2B
空格 URL中的空格可以用+号或者编码 %20
/ 分隔目录和子目录 %2F
? 分隔实际的URL和参数 %3F
% 指定特殊字符 %25
# 表示书签 %23
& URL 中指定的参数间的分隔符 %26
= URL 中指定参数的值 %3D
二、问题分析
前后台特殊字符对其编码,原因可能是这些特殊字符对于前后台传递参数的时候,有其特殊的用途,比如url中?代表后面接的是查询参数。
所以我们最好在前端对需要特殊处理的字符进行特殊编码,然后后端接受到数据后,再进行解码。
三、解决方法
前台:
parms.content = encodeURI($("#txtEditFileContent").val());//编码
后台:
content = HttpUtility.UrlDecode(content);//解码