一、描述問題
當傳遞的參數中含有+、空格、=、%等字符的時候,前台將參數傳給后台的時候,就會對其進行編碼,具體如下:
+ URL 中+號表示空格 %2B
空格 URL中的空格可以用+號或者編碼 %20
/ 分隔目錄和子目錄 %2F
? 分隔實際的URL和參數 %3F
% 指定特殊字符 %25
# 表示書簽 %23
& URL 中指定的參數間的分隔符 %26
= URL 中指定參數的值 %3D
二、問題分析
前后台特殊字符對其編碼,原因可能是這些特殊字符對於前后台傳遞參數的時候,有其特殊的用途,比如url中?代表后面接的是查詢參數。
所以我們最好在前端對需要特殊處理的字符進行特殊編碼,然后后端接受到數據后,再進行解碼。
三、解決方法
前台:
parms.content = encodeURI($("#txtEditFileContent").val());//編碼
后台:
content = HttpUtility.UrlDecode(content);//解碼