- 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;
- }
- }
- });
- }
- }
Code kopiëren De bovenstaande code kan normaal gesproken in het Chinees worden doorgegeven in FF/Chrome, maar in IE is er een probleem en is de informatie-uitvoer op de achtergrond onverstaanbaar.
Probleempoging:
1. Inhoud instellen Type: "tekst/plain; charset=UTF-8", blijft het probleem bestaan
2. Ik heb de JSP-pagina opnieuw gecontroleerd waar de ajax-code staat, die allemaal UTF-8 gebruiken, maar het probleem blijft bestaan
3. In de Java-code op de achtergrond wordt de coderingsconversie van UTF-8, GBK en GB2312 afgedwongen, en blijft het probleem bestaan
Na analyse wordt vastgesteld dat het mogelijk verband houdt met de overdracht van inhoud in de browser of JQuery, maar dit kan op dit moment niet nauwkeurig worden vastgesteld.
Oplossing:
Vorige alinea: encodeURI($(dom).val(), "UTF-8"); encoderen met encodeURI
Backend Java-code:
URLDecoder.decode(inputStr, "UTF-8"): De backendcode decodeert de string die in het voorste segment wordt doorgegeven.
Samenvatting:
Ten slotte kan de stringinformatie die door het Ajax Post-verzoek is doorgegeven normaal worden weergegeven, en de Chinese kan normaal worden weergegeven.
|