Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 12409|Odpoveď: 0

[Jquery] Riešenie problému Ajax Post commits v čínskych skreslených znakoch v IE v JQuery

[Kopírovať odkaz]
Zverejnené 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. }
Kopírovať kód
Vyššie uvedený kód sa dá bežne odovzdať v čínštine vo FF/Chrome, ale v IE je problém a výstup informácií na pozadí je skreslený.

Pokus o problém:

1. Set contentType: "text/plain; charset=utf-8", problém pretrváva

2. Znovu som skontroloval stránku JSP, kde sa nachádza kód ajaxu, všetky používajú UTF-8, ale problém pretrváva

3. V Java kóde na pozadí je vynútená konverzia kódovania UTF-8, GBK a GB2312 a problém pretrváva

Po analýze sa zistilo, že to môže súvisieť s prenosom obsahu v prehliadači alebo JQuery, ale momentálne to nie je možné presne určiť.

Riešenie:

Predchádzajúci odsek: encodeURI($(dom).val(), "UTF-8"); encode with encodeURI

Backendový Java kód:

URLDecoder.decode(inputStr, "UTF-8"): Backendový kód dekóduje reťazec odovzdaný v prednom segmente.


Súhrn:

Nakoniec je možné zobraziť informácie o reťazcoch odoslané požiadavkou Ajax Post normálne a čínština normálne.




Predchádzajúci:Rozdiel medzi metódami encodeURI a encodeURIComponent v js
Budúci:C# používa regulárne výrazy na overenie telefónnych čísel, mobilných čísel, identifikačných čísel
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com