欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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"));

这样就可以正确的进行文本的接收啦~