前后台传递参数中出现+、空格、=、%、&、#等字符的解决办法

一、描述问题

当传递的参数中含有+、空格、=、%等字符的时候,前台将参数传给后台的时候,就会对其进行编码,具体如下:

+    URL 中+号表示空格                                 %2B  
空格 URL中的空格可以用+号或者编码           %20
/   分隔目录和子目录                                     %2F    
?    分隔实际的URL和参数                             %3F    
%    指定特殊字符                                          %25    
#    表示书签                                                  %23    
&    URL 中指定的参数间的分隔符                  %26    
=    URL 中指定参数的值                                %3D

 

二、问题分析

前后台特殊字符对其编码,原因可能是这些特殊字符对于前后台传递参数的时候,有其特殊的用途,比如url中?代表后面接的是查询参数。

所以我们最好在前端对需要特殊处理的字符进行特殊编码,然后后端接受到数据后,再进行解码

三、解决方法

前台:

      parms.content = encodeURI($("#txtEditFileContent").val());//编码

后台:

            content = HttpUtility.UrlDecode(content);//解码

 

posted @ 2022-04-06 09:59  cherish1024  阅读(1530)  评论(0编辑  收藏  举报