用户登录
用户注册

分享至

Ajax传递特殊字符的数据如何解决

  • 作者: 兔女郎不是我
  • 来源: 51数据库
  • 2021-08-31

问题描述

如下,对含有特殊字符的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"));

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

软件
前端设计
程序设计
Java相关