剛開始學(xué)習(xí)javaee,采用了struts2+dbutils+ajax+jquery方面的東西,想在登錄頁面上做關(guān)于輸入用戶名時(shí),如果數(shù)據(jù)庫不存用alert給出一個(gè)提示,發(fā)現(xiàn)了亂碼。我的頁面都是gbk的也不想改了,struts2也是配置的gbk,因?yàn)閍jax默認(rèn)傳參數(shù)的編碼采用的utf-8,解決如下:
1,修改js代碼:
var url = "validatename.action";
var m_username=encodeURIComponent($("#username").attr("value"));
var params = {username:m_username}; jQuery.post(url, params, callbackFun, "json");
2.修改validatename.action,轉(zhuǎn)換通過ajax傳過去的username的編碼
this.username = java.net.URLDecoder.decode(username,"UTF-8");
以上兩點(diǎn)要同時(shí)修改。
另外我覺得還有應(yīng)該有個(gè)更好的方式,就是利用struts2的攔截器,寫一個(gè)攔截器,來攔截所有ajax的請(qǐng)求,那樣會(huì)更好,更通用一些,有高手可以參考一下那種做法。
posted on 2010-05-25 16:06
大灰狼 閱讀(1297)
評(píng)論(1) 編輯 收藏