How to solve the problem of passing special characters in Ajax, and passing special characters in ajax
Problem description
JSON encapsulation of text containing special characters, passed through Ajax,
Var data = {"Id": id, "text": text };
Data cannot be received in the background.
Solution
Set
Req. setRequestHeader ("Content-Type", "application/x-www-form-urlencoded ");
For example:
Req. setRequestHeader ("Content-type ",
"Application/json; charset = UTF-8 ");
Data reception in the background:
// Receive json data 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 (); // convert the string to the JSON object JSONObject jsonObject = new JSONObject (mess); // obtain the value jsonObject. getInt ("Id"); // The text containing special characters must be transcoded URLDecoder. decode (jsonObject. getString ("text"), "UTF-8 "));
In this way, you can receive the text correctly ~