剛開始學習javaee,采用了struts2+dbutils+ajax+jquery方面的東西,想在登錄頁面上做關于輸入用戶名時,如果數據庫不存用alert給出一個提示,發現了亂碼。我的頁面都是gbk的也不想改了,struts2也是配置的gbk,因為ajax默認傳參數的編碼采用的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,轉換通過ajax傳過去的username的編碼
this.username = java.net.URLDecoder.decode(username,"UTF-8");
以上兩點要同時修改。
另外我覺得還有應該有個更好的方式,就是利用struts2的攔截器,寫一個攔截器,來攔截所有ajax的請求,那樣會更好,更通用一些,有高手可以參考一下那種做法。
posted on 2010-05-25 16:06
大灰狼 閱讀(1296)
評論(1) 編輯 收藏