1. 程式人生 > >解決序列化亂碼問題

解決序列化亂碼問題

通過看jQuery原始碼可以知道,serialize方法是通過encodeURIComponent編碼的,所以解決亂碼的最笨方法:
02 1、重新分解序列化後的值
03 2、把分解的值重新decodeURIComponent回來
04 3、再重新用escape編碼
05 4、重新拼接
06
07 function serialize(objs)
08 {
09 var parmString = $(objs).serialize();
10 var parmArray = parmString.split("&");
11 var parmStringNew=
"";
12 $.each(parmArray,function(index,data){
13 var li_pos = data.indexOf("="); 
14 if(li_pos >0){
15 var name = data.substring(0,li_pos);
16 var value = escape(decodeURIComponent(data.substr(li_pos+1)));
17 var parm = name+"="+value;
18 parmStringNew = parmStringNew=="" ? parm : parmStringNew +
'&' + parm;
19 }
20 });
21 return parmStringNew;