Apa yang perlu dilakukan jika jquery ajax utf-8 bercelaru?

藏色散人
Lepaskan: 2023-02-17 09:46:02
asal
2194 orang telah melayarinya

Penyelesaian untuk jquery ajax utf-8 kod bercelaru: 1. Tetapkan pengekodan contentType kepada "utf-8" dan kod kepada "contentType: "application/x-www-form-urlencoded;charset=utf -8 ""; 2. Tetapkan "resp.setContentType("text/text;charset=GBK");" sebelum mendapatkan objek PrintWriter.

Apa yang perlu dilakukan jika jquery ajax utf-8 bercelaru?

Persekitaran pengendalian tutorial ini: sistem Windows 10, versi jquery3.2.1, komputer Dell G3.

Apakah yang perlu saya lakukan jika jquery ajax utf-8 bercelaru?

permintaan jQuery AJAX mengembalikan kod bercelaru

1. Permintaan jQuery AJAX diterima sebagai kod bercelaru di latar belakang

Anda boleh menetapkan pengekodan contentType secara eksplisit kepada utf- 8, latar belakang Secara amnya, ia boleh dinyahkod secara normal Contohnya:

contentType: "application/x-www-form-urlencoded; charset=utf-8",
Salin selepas log masuk
jQuery(form).ajaxSubmit({
url: "doLogin?user=a",
type: "post",
dataType: "json",
contentType: "application/x-www-form-urlencoded; charset=utf-8",
success: showLoginResponse
});
Salin selepas log masuk

Jika anda tidak menambah contentType: "application/x-www-form-urlencoded; charset=UTF-8" , dan gunakan escape(), ia akan

"Isi siaran mengandungi kurang bait daripada panjang kandungan yang ditentukan"

ralat muncul.

2 . jQuery AJAX mengembalikan aksara Berantakan

Adakah anda mendapati bahawa tidak kira bagaimana anda menetapkan pengekodan, data yang diterima oleh pelanggan sentiasa bercelaru Sila lihat contoh di bawah

void saveTempKind(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException { 
 PrintWriter pw = resp.getWriter();
 resp.setContentType("text/text;charset=GBK"); 
 try {
  //DO PROCESS 
  pw.write("成功");
 }catch(Exception e){
  pw.write("失败");
 }
}
Salin selepas log masuk

Masalahnya ialah pernyataan resp.setContentType("text/text;charset=GBK"); Jika ia seperti contoh di atas, tidak kira bagaimana anda menetapkan pengekodan respons, masalah bercelaru bahagian hadapan akan tetap sama. Sebab yang mungkin ialah pengekodan telah ditentukan sebelum pw mendapatkan PriintWriter. Jadi pernyataan pengekodan hendaklah sebelum mendapatkan objek PrintWriter.

Pembelajaran yang disyorkan: "
PrintWriter pw = resp.getWriter();
Salin selepas log masuk
Tutorial Video jQuery

"

Atas ialah kandungan terperinci Apa yang perlu dilakukan jika jquery ajax utf-8 bercelaru?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan