- 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 de copie Le code ci-dessus peut être transmis en chinois normalement dans FF/Chrome, mais dans IE, il y a un problème, et les informations en arrière-plan sont brouillées.
Tentative problématique :
1. Set contentType : « texte/plain ; charset = utf-8", le problème persiste
2. J’ai revérifié la page JSP où se trouve le code ajax, tous utilisant UTF-8, mais le problème persiste
3. Dans le code Java en arrière-plan, la conversion d’encodage de UTF-8, GBK et GB2312 est forcée, et le problème persiste
Après analyse, il est déterminé que cela pourrait être lié à la transmission de contenu dans le navigateur ou JQuery, mais il est impossible de le déterminer avec précision pour le moment.
Solution :
Paragraphe précédent : encodeURI($(dom).val(), « UTF-8 ») ; encoder avec encodeURI
Code Java backend :
URLDecoder.decode(inputStr, « UTF-8 ») : Le code backend décode la chaîne passée dans le segment avant.
Résumé:
Enfin, les informations de chaîne transmises par la requête Ajax Post peuvent être affichées normalement, et les chinois peuvent être affichés normalement.
|