jquery中serialize()中文乱码问题
使用$(‘form’).serialize()方法遇到中文字符乱码的问题,查看jquery源码发现:
serialize: function() {
return jQuery.param( this.serializeArray() );
},
再看param方法中有这么一句
s[ s.length ] = encodeURIComponent( key ) + "=" + encodeURIComponent( value );
因为jquery内部使用了encodeURIComponent方法, 所以中文会变成%xx这种形式.
那么解决方法也简单, 再解码一次即可:
var result = decodeURIComponent($('form').serialize());