Maison >interface Web >js tutoriel >Comment résoudre le problème de la transmission de données par Ajax avec des caractères spéciaux

Comment résoudre le problème de la transmission de données par Ajax avec des caractères spéciaux

亚连
亚连original
2018-05-22 11:33:231576parcourir

Cet article vous présente la solution lorsque les données transmises par Ajax contiennent des caractères spéciaux. Les amis qui en ont besoin peuvent s'y référer

Description du problème

Comme suit, le texte contenant des caractères spéciaux est encapsulé en JSON et transmis via Ajax

var data = {"Id": id, "text": text};

. La réception des données ne peut pas être effectuée en arrière-plan.

Solution

Remplacer

req.setRequestHeader("Content-Type",
        "application/x-www-form-urlencoded");
par :

req.setRequestHeader("Content-type",
        "application/json; charset=utf-8");
Données d'acceptation du backend :

 //进行json数据的接收
    StringBuilder sb = new StringBuilder();
    BufferedReader br = request.getReader();
    char[] buff = new char[10000];
    int len;
    while((len = br.read(buff)) != -1){
      sb.append(buff, 0, len);
    }
    String mess = sb.toString();
    //将字符串转换为JSON对象
    JSONObject jsonObject=new JSONObject(mess);
    //获取其中的值
    jsonObject.getInt("Id");
    //含有特殊字符的文本需要先进行转码
    URLDecoder.decode(jsonObject.getString("text"), "UTF-8"));
De cette façon, vous pouvez recevoir le texte correctement~

Ce qui précède est ce que j'ai compilé pour tout le monde, j'espère que cela sera utile à tout le monde à l'avenir.

Articles connexes :

Configurer Chrome pour prendre en charge les requêtes AJAX locales (protocole de fichier) (tutoriel graphique)

L'effet de pagination AJAX est simple Implémentation (tutoriel graphique)

Solution de traitement Json-lib lors de l'utilisation de frameworks tels qu'Ajax ou Easyui (tutoriel graphique)

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