- 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;
- }
- }
- });
- }
- }
Copiar código El código anterior puede pasarse en chino normalmente en FF/Chrome, pero en IE hay un problema y la información que se emite en segundo plano está distorsionada.
Intento problemático:
1. Set contentType: "texto/plano; charset=utf-8", el problema persiste
2. He vuelto a revisar la página de JSP donde está el código ajax, todos ellos usan UTF-8, pero el problema persiste
3. En el código Java en segundo plano, la conversión de codificación de UTF-8, GBK y GB2312 se forza, y el problema persiste
Tras el análisis, se determina que puede estar relacionado con la transmisión de contenido en el navegador o JQuery, pero no puede determinarse con precisión en este momento.
Solución:
Párrafo anterior: encodeURI($(dom).val(), "UTF-8"); codificar con encodeURI
Código Java de backend:
URLDecoder.decode(inputStr, "UTF-8"): El código del backend decodifica la cadena pasada en el segmento frontal.
Resumen:
Finalmente, la información de la cadena transmitida por la solicitud Ajax Post puede mostrarse normalmente, y la china puede mostrarse normalmente.
|