AJAX提交數(shù)據(jù):
client: 使用POST方式
request.open("post",url,true|false);
提交參數(shù)時(shí),中文參數(shù)要用userName = encodeURIComponent(userName)進(jìn)行編碼,
再用send("name="+userName)發(fā)送
server:
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
String userName = request.getParameter("name"); //正確得到中文參數(shù)
client: 使用GET方式
var url = "reg/verify?userName="+encodeURIComponent("中文"); //同樣中文要進(jìn)行編碼
request.open("post",url,true|false);
提交參數(shù)時(shí),中文參數(shù)要用userName = encodeURIComponent(userName)進(jìn)行編碼,
再用send(null)發(fā)送
server:
server處理方式同F(xiàn)orm表單GET方式
Form表單提交:
client: 使用POST方式
<form action="reg/verify method="post">
<input type="text" name="userName" />
<input type="submit" value="提交"/>
</form>
server:
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
String userName = request.getParameter("name"); //正確得到中文參數(shù)
client: 使用GET方式
<form action="reg/verify method="get">
<input type="text" name="userName" />
<input type="submit" value="提交"/>
</form>
server:
request.setCharacterEncoding("UTF-8"); //無(wú)論有沒(méi)有該語(yǔ)句,都要進(jìn)行重新解碼編碼
response.setContentType("text/html;charset=UTF-8");
userName = new String(userName.getBytes("ISO-8859-1"), "UTF-8"); //正確得到中文參數(shù)
使用<a href></a>提交方式:(不推薦使用)
client:
使用<a href="reg/verify?userName=寧曉進(jìn)">submit</a>提交方式,
原理:IE8、FF等瀏覽器發(fā)送請(qǐng)求前會(huì)用encodeURIComponent(userName)進(jìn)行編碼,但有些瀏覽器不會(huì)自動(dòng)編碼,服務(wù)器接收會(huì)出錯(cuò),所以最好在發(fā)送中文等特殊字符前手動(dòng)進(jìn)行編碼。
server:
server處理方式同F(xiàn)orm表單GET方式
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。