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
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
Remplacerreq.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 :
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!