在使用jQuery的ajax向后臺請求數(shù)據(jù)時(shí),返回的中文數(shù)據(jù)有可能出現(xiàn)亂碼,這是由于瀏覽器默認(rèn)以UTF-8編碼來處理數(shù)據(jù),而服務(wù)器端返回的是其他編碼方式導(dǎo)致的。
出現(xiàn)中文亂碼問題,有以下兩種解決方式:
1.在后臺發(fā)送數(shù)據(jù)時(shí),設(shè)置Content-Type為text/html;charset=utf-8,如下所示:
response.setContentType("text/html;charset=utf-8");
2. 通過jQuery的ajax請求時(shí),在請求中設(shè)置dataType為json,并設(shè)置contentType為"application/json;charset=utf-8",如下所示:
$.ajax({ url:"/api/getData", type:"post", dataType:"json", contentType:"application/json;charset=utf-8", success:function(data){ //成功回調(diào)函數(shù) }, error:function(error){ //錯(cuò)誤回調(diào)函數(shù) } })
這樣設(shè)置后,請求中的數(shù)據(jù)就能正確地以UTF-8編碼進(jìn)行處理,中文亂碼的問題也就得到了解決。