2011-06-10 34 views
2

我有我通過Ajax發送回服務器的一些冗長的JSON文本:在Ajax POST中,在發送之前是否需要urlencode參數?

http.open("POST", url, true); 
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
http.setRequestHeader("Content-length", myVeryLongAJAXText.length); 
http.setRequestHeader("Connection", "close"); 
http.onreadystatechange = function() {...} 
http.send(myVeryLongAJAXText); 

我是否需要更改最後一行:

http.send(encodeURI(myVeryLongAJAXText)); 

或不發送方法照顧那個?

回答

2

您需要在客戶端上對它們進行編碼,然後在服務器上對它們進行解碼。它將工作未解碼,但它不容易出錯,更安全的編碼/解碼。

發送不提供,因爲發送的數據可能只是一個整數,所以調用UrlEncoding會引入不必要的開銷。

0

你應該對它們進行編碼。發送不會爲你做這個。

相關問題