Web应用系统中,客户端发送请求到服务器,请求中的字符串参数,在被序列化成 json 过程中有些特殊字符会被空格代替,导致传递到服务器端再解析的时候,原本的输入参数就会被改变。
目前遇到的特殊字符有加号(+)与连接号(&)。
临时解决方案:
前端:定义一个函数,在函数中预先处理,
1 function EncodeURIFilter(str) {
2 if(str != null && str != "") {
3 str = str.replace(/+/g, "%2B");
4 str = str.replace(/&/g, "%26");
5 }
6 return str;
7 }
后端: C# 转码
1 editingMode = HttpUtility.UrlDecode(editingMode);