1. 程式人生 > >jquery中serialize方法中文亂碼問題

jquery中serialize方法中文亂碼問題

使用的jquery版本為2.2.4

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