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);