- 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;
- }
- }
- });
- }
- }
Kopiera koden Ovanstående kod kan normalt skickas på kinesiska i FF/Chrome, men i IE uppstår ett problem och informationen som matas ut i bakgrunden är osammanhängande.
Problemförsök:
1. Sätt innehållTyp: "text/klar; charset=utf-8", kvarstår problemet
2. Jag kollade om JSP-sidan där ajax-koden finns, alla använder UTF-8, men problemet kvarstår
3. I Java-koden i bakgrunden tvingas kodningskonverteringen av UTF-8, GBK och GB2312, och problemet kvarstår
Efter analys fastställs att det kan vara relaterat till överföringen av innehåll i webbläsaren eller JQuery, men det kan inte fastställas korrekt just nu.
Lösning:
Föregående stycke: encodeURI($(dom).val(), "UTF-8"); koda med encodeURI
Backend Java-kod:
URLDecoder.decode(inputStr, "UTF-8"): Backendkoden avkodar strängen som skickas i frontsegmentet.
Sammanfattning:
Slutligen kan stränginformationen som skickas av Ajax Post-förfrågan visas normalt, och den kinesiska kan visas normalt.
|