- var regid = $('#oregion').combobox('getValue');
- //var sname = $('#sname').val();
- var sname = encodeURI($('#sname').val(),"UTF-8");
- if(regid!=""&®id!='undefined'){
- $.ajax({
- async: true,
- type : "POST",
- dataType : "json",
- url : "<%=request.getContextPath() %>/secretary/isHasUser.do?regid="+regid+"&sname="+sname,
- success : function(data) {
- if(data.mes!=""&&data.mes!=null){
- $.messager.alert('Warning',data.mes);
- return false;
- }
- }
- });
- }
- }
Salin kode Kode di atas dapat diteruskan dalam bahasa Cina biasanya di FF/Chrome, tetapi di IE, ada masalah, dan keluaran informasi di latar belakang kacau.
Upaya masalah:
1. Atur contentType: "text/plain; charset=utf-8", masalahnya tetap ada
2. Saya memeriksa ulang halaman JSP tempat kode ajax berada, yang semuanya menggunakan UTF-8, tetapi masalahnya tetap ada
3. Di kode Java di latar belakang, konversi pengkodean UTF-8, GBK, dan GB2312 dipaksakan, dan masalahnya tetap ada
Setelah analisis, ditentukan bahwa itu mungkin terkait dengan transmisi konten di browser atau JQuery, tetapi tidak dapat ditentukan secara akurat saat ini.
Solusi:
Paragraf sebelumnya: encodeURI($(dom).val(), "UTF-8"); enkode dengan encodeURI
Kode Java backend:
URLDecoder.decode(inputStr, "UTF-8"): Kode backend mendekode string yang diteruskan di segmen depan.
Ringkasan:
Terakhir, informasi string yang diteruskan oleh permintaan Ajax Post dapat ditampilkan secara normal, dan bahasa Cina dapat ditampilkan secara normal.
|