See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 12409|Vastuse: 0

[Jquery] Lahendus Ajax Post commit'ide probleemile hiina keeles segased tähemärgid IE-s JQuerys

[Kopeeri link]
Postitatud 23.12.2015 17:50:05 | | |
  1. var regid = $('#oregion').combobox('getValue');
  2. //var sname = $('#sname').val();
  3. var sname = encodeURI($('#sname').val(),"UTF-8");
  4. if(regid!=""&®id!='undefined'){
  5. $.ajax({
  6. async: true,
  7. type : "POST",
  8. dataType : "json",
  9. url : "<%=request.getContextPath() %>/secretary/isHasUser.do?regid="+regid+"&sname="+sname,
  10. success : function(data) {
  11. if(data.mes!=""&&data.mes!=null){
  12. $.messager.alert('Warning',data.mes);
  13. return false;
  14. }
  15. }
  16. });
  17. }
  18. }
Kopeeri kood
Ülaltoodud koodi saab tavaliselt hiina keeles edastada FF/Chrome'is, kuid IE-s on probleem ning taustal edastatav info on segane.

Probleemi katse:

1. Sea contentType: "tekst/plain; charset=utf-8", probleem püsib

2. Kontrollisin uuesti JSP lehte, kus asub ajax-kood, kõik kasutavad UTF-8, kuid probleem püsib

3. Taustal olevas Java koodis sunnitakse UTF-8, GBK ja GB2312 kodeerimise teisendamist ning probleem püsib

Pärast analüüsi selgub, et see võib olla seotud sisu edastamisega brauseris või JQuerys, kuid praegu ei saa seda täpselt kindlaks teha.

Lahendus:

Eelmine lõik: encodeURI($(dom).val(), "UTF-8"); encode encodeURI-ga

Backend Java kood:

URLDecoder.decode(inputStr, "UTF-8"): Taustakood dekodeerib esisegmendis edastatud stringi.


Kokkuvõte:

Lõpuks saab Ajax Posti päringu kaudu edastatud stringiinfot kuvada normaalselt ja hiina keelt normaalselt.




Eelmine:Erinevus encodeURI ja encodeURIComponent meetodite vahel js-is
Järgmine:C# kasutab regulaarseid avaldisi telefoninumbrite, mobiiltelefoninumbrite ja ID-numbrite kinnitamiseks
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com