使用$(‘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());

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注