当前位置 博文首页 > Ajax传递特殊字符的数据如何解决

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

    作者:leeezm 时间:2021-09-22 19:09

    问题描述

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

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

    jsjbwy
    上一篇:Ajax的用法总结
    下一篇:没有了