- 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;
- }
- }
- });
- }
- }
Kopier koden Koden ovenfor kan sendes på kinesisk normalt i FF/Chrome, men i IE oppstår det et problem, og informasjonen som sendes ut i bakgrunnen er utydelig.
Problemforsøk:
1. Sett innholdType: "tekst/klar; charset=utf-8", problemet vedvarer
2. Jeg sjekket JSP-siden på nytt hvor ajax-koden ligger, alle bruker UTF-8, men problemet vedvarer
3. I Java-koden i bakgrunnen blir kodingskonverteringen av UTF-8, GBK og GB2312 tvunget, og problemet vedvarer
Etter analyse fastslås det at det kan være relatert til overføring av innhold i nettleseren eller JQuery, men det kan ikke fastslås nøyaktig på nåværende tidspunkt.
Løsning:
Forrige avsnitt: encodeURI($(dom).val(), "UTF-8"); encode med encodeURI
Backend Java-kode:
URLDecoder.decode(inputStr, "UTF-8"): Backend-koden dekoder strengen som sendes i frontsegmentet.
Sammendrag:
Til slutt kan strenginformasjonen som sendes av Ajax Post-forespørselen vises normalt, og kinesisk kan vises normalt.
|