我是靠谱客的博主 安静香菇,最近开发中收集的这篇文章主要介绍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传递特殊字符的数据如何解决的全部内容,希望文章能够帮你解决Ajax传递特殊字符的数据如何解决所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(133)

评论列表共有 0 条评论

立即
投稿
返回
顶部