使用Ajax傳送數據時,當數據中存在加號(+)、鏈接符(&)或者百分號(%)時,服務器端接收數據時會丟失數據。分析Ajax傳送數據的格式與Javascript的語法:ajax
1. "+"號:JavaScript解析爲字符串鏈接符,因此服務器端接收數據時"+"會丟失變空格。正則表達式
2. "&"號:JavaScript解析爲變量鏈接符,因此服務器端接收數據時&符號之後的數據都會丟失變空格。服務器
解決方法是經過正則表達式進行編碼替換(假設postStr是你想經過ajax傳送的數據字符串)post
1 postStr = postStr.replace(/%/g, "%25"); 2 postStr = postStr.replace(/\&/g, "%26"); 3 postStr = postStr.replace(/\+/g, "%2B");