Maison  >  Article  >  interface Web  >  Comment gérer les caractères chinois tronqués affichés dans l'URL transmise dans jquery.ajax

Comment gérer les caractères chinois tronqués affichés dans l'URL transmise dans jquery.ajax

php中世界最好的语言
php中世界最好的语言original
2018-04-26 10:51:551345parcourir

Cette fois, je vais vous montrer comment gérer les caractères chinois tronqués lorsque l'URL est transmise dans jquery.ajax. Quelles sont les précautions pour traiter les caractères chinois tronqués lorsque l'URL est transmise dans jquery. ajax. Voici les cas pratiques.

JQuery

Contenu par défaut de JQuery : application/x-www-form-urlencoded

C'est la raison pour laquelle JQuery est tronqué à l'avenir. Lors de la spécification du jeu de caractères , ISO-8859-1

ISO8859-1 est utilisé, généralement appelé Latin-1. Latin-1 comprend des caractères supplémentaires indispensables à l'écriture de toutes les langues d'Europe occidentale.

Ajax de JQuery n'a pas du tout pris en compte la question de l'internationalisation et a utilisé le jeu de caractères européen, ce qui a causé le problème des caractères tronqués lors de la transmission du chinois.

Notre UTF-8 peut résoudre ce problème.

En fin de compte, cela signifie que vous devez modifier le code JQuery et déclarer explicitement que contentType utilise le jeu de caractères utf-8, ce qui peut résoudre le problème de la transmission chinoise GB2312.

1. Modifiez le code JQuery

Modifiez simplement le code JQuery et ajoutez charset=UTF-8, il n'est donc pas nécessaire de le modifier si web.config. ou quelque chose change l'encodage dans la page, il n'est pas nécessaire d'utiliser escapec(str) pour le décoder côté serveur. La façon dont cela est transmis en anglais est également transmise en chinois.

Modifier le fichier jquery utilisé : jquery-1.4.4.min.js

ajaxSettings:
{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded
;charset=UTF-8
",processData:true,async:true,xhr:function(){return new E.XMLHttpRequest}

Code Js :

function confirmcommit(){
    var wlCompany = $("#wlCompany").val();//这里含有中文
    var wlId = $("#wlId").val();
    var proposer = $("#proposer").val();
    if(confirm("确认要换货吗")){
$.ajax({
type:'POST',
url:'${pageContext.request.contextPath}/returnGoods/confrimExchangeGoods.do',
data:'wlCompany='+wlCompany+'&wlId='+wlId+'&proposer='+proposer, //直接传值
dataType:'text',
error:function(){
    alert("JQuery AJAX Error!");     
},
success:function(msg){
    alert(msg);
    return;
    if(msg=='换货成功'){
 document.location="${pageContext.request.contextPath}/orderItem/queryProduceItem.do?orderBusType="+${orderBusType};
    }
}
});
     }
 }

3.Code Java :

public ActionForward confrimExchangeGoods(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
log.info("确认换货 confrimExchangeGoods start...............");
response.setCharacterEncoding("UTF-8"); //这里要设置一下
String wlCompany = request.getParameter("wlCompany");
String wlId = request.getParameter("wlId");
String proposer = request.getParameter("proposer");     .....}

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !

Lecture recommandée :

Comment gérer l'échec de l'ancrage de page dans iframe

Explication détaillée des étapes pour obtenir l'objet document dans iframe

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn