天天看點

jQuery的ajax傳遞時亂碼解決

jsp中

var num = $("#txtnum").val();

var name = encodeuricomponent($("#txtname").val());

var classname = encodeuricomponent($("#selectclasses option:selected").text());

action中

stu.setnum(urldecoder.decode(num, "utf-8"));

stu.setname(urldecoder.decode(name, "utf-8"));

stu.setclassname(urldecoder.decode(classname, "utf-8"));

一般在post中struts過濾器會自動處理。而在get中,需要這樣操作。

原理:

encodeuricomponent是js内置函數,是将中文韓文等特殊字元轉換成utf-8格式的url編碼。

如果給背景傳遞參數需要使用encodeuricomponent時,需要背景解碼對utf-8支援

還要注意的是form中的編碼方式和目前頁面編碼方式相同。