最近的項目中JS庫改爲全部使用jQuery,其中使用jQuery的Ajax提交中文亂碼問題十分的心煩,經過多番Google和自己確認後,其實只需要改兩個地方即可:
1 增加contentType, 值爲:application/x-www-form-urlencoded; charset=utf-8
特別要注意要加上charset=utf-8來指明編碼是使用utf-8,這裏我還特別查過jQuery的API文檔中,對於contentType默認值是application/x-www-form-urlencoded ,所以會出現亂碼
2 增加type,值爲:post
這裏在jQuery的API文檔中描述,默認值是get,經過測試,使用get無法解決中文亂碼問題。
這樣提交到後臺程序的數據就是經過utf8編碼,可以解決亂碼的問題,再次肯定解決亂碼就是必須保證所有的編碼都統一爲utf-8。
最終代碼可以參考如下:
$.ajax({
url : "sample.php",
contentType: "application/x-www-form-urlencoded;charset=UTF-8",
type: "post",
data : {name : name},
dataType : "json",
success : function(data) {
//成功後執行的程序代碼
}
});
謹以此爲記!