问题描述
如下,对含有特殊字符的text进行json封装,通过ajax传递,
var data = {"id": id, "text": text};
在后台无法进行数据接收。
解决方案
将
req.setrequestheader("content-type",
"application/x-www-form-urlencoded");
换为:
req.setrequestheader("content-type",
"application/json; charset=utf-8");
后台接受数据:
//进行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"));
这样就可以正确的进行文本的接收啦~
兔女郎不是我