虚位以待(AD)
虚位以待(AD)
首页 > 网络编程 > AJAX相关 > Ajax传递特殊字符的数据如何解决

Ajax传递特殊字符的数据如何解决
类别:AJAX相关   作者:码皇   来源:互联网   点击:

这篇文章给大家介绍了Ajax传递的数据包含特殊字符时的解决方法,需要的朋友参考下吧

问题描述

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

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

相关热词搜索: ajax 传递特殊字符