Rumah >hujung hadapan web >Soal Jawab bahagian hadapan >Apa yang perlu dilakukan jika jquery ajax utf-8 bercelaru?

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

藏色散人
藏色散人asal
2023-02-17 09:46:022227semak imbas

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",
jQuery(form).ajaxSubmit({
url: "doLogin?user=a",
type: "post",
dataType: "json",
contentType: "application/x-www-form-urlencoded; charset=utf-8",
success: showLoginResponse
});

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("失败");
 }
}

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();
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!

Kenyataan:
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