Ajax传递特殊字符的数据如何解决
程序员文章站
2022-03-21 11:22:55
问题描述
如下,对含有特殊字符的text进行json封装,通过ajax传递,
var data = {"id": id, "text": text};
在后台无法进行...
问题描述
如下,对含有特殊字符的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"));
这样就可以正确的进行文本的接收啦~
推荐阅读