Dieser Artikel stellt Ihnen die Lösung vor, wenn die von Ajax übergebenen Daten Sonderzeichen enthalten. Freunde, die sie benötigen, können darauf verweisen
Problembeschreibung
Wie folgt wird der Text, der Sonderzeichen enthält, in JSON gekapselt und über Ajax übergeben
var data = {"Id": id, "text": text};
Der Datenempfang kann nicht im Hintergrund durchgeführt werden.
Lösung
Ersetzen Sie
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
durch:
req.setRequestHeader("Content-type", "application/json; charset=utf-8");
Daten im Hintergrund empfangen:
//进行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"));
Auf diese Weise können Sie den Text korrekt empfangen~
Das Obige habe ich für alle zusammengestellt und hoffe, dass es in Zukunft für alle hilfreich sein wird.
Verwandte Artikel:
Der AJAX-Paging-Effekt ist einfach Implementierung (grafisches Tutorial)
Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem der Ajax-Übergabe von Daten mit Sonderzeichen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!