解决jQuery对表单serialize后出现的乱码问题
通过看jQuery源码可以知道,serialize方法是通过encodeURIComponent编码的,所以解决乱码的最笨方法:
1、重新分解序列化后的值
2、把分解的值重新decodeURIComponent回来
3、再重新用escape编码
4、重新拼接
function
serialize(objs)
{
var
parmString = $(objs).serialize();
var
parmArray = parmString.split(
"&"
);
var
parmStringNew=
""
;
$.each(parmArray,
function
(index,data){
var
li_pos = data.indexOf(
"="
);
if
(li_pos >0){
var
name = data.substring(0,li_pos);
var
value = escape(decodeURIComponent(data.substr(li_pos+1)));
var
parm = name+
"="
+value;
parmStringNew = parmStringNew==
""
? parm : parmStringNew +
‘&‘
+ parm;
}
});
return
parmStringNew;
}
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。