博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解决ajax请求后台数据乱码问题&&前台接收
阅读量:5075 次
发布时间:2019-06-12

本文共 1611 字,大约阅读时间需要 5 分钟。

//使用$.parseJSON(DATA)转换编码  防止ajax乱码 response.setHeader("content-type","text/html; charset=UTF-8"); response.setCharacterEncoding("UTF-8"); request.setCharacterEncoding("UTF-8"); 这三句话 一定要加到 方法开始的地方 例如:

前台页面:

--在数据传输流程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键。例如:

    JSON字符串:

    var str1 = '{ "name": "cxh", "sex": "man" }';   //有一个单引号

    JSON对象:

    var str2 = { "name": "cxh", "sex": "man" };  //没有单引号

    一、JSON字符串转换为JSON对象

    要运用上面的str1,必须运用下面的要领先转化为JSON对象:

    //由JSON字符串转换为JSON对象

    var obj = eval('(' + str + ')');

或者

    var obj = str.parseJSON(); //由JSON字符串转换为JSON对象

    或者

    var obj = JSON.parse(str); //由JSON字符串转换为JSON对象

    然后,就可以这样读取:

    Alert(obj.name);

    Alert(obj.sex);

    特别留心:如果obj本来就是一个JSON对象,那么运用 eval()函数转换后(哪怕是多次转换)还是JSON对象,但是运用 parseJSON()函数处理后会有疑问(抛出语法异常)。

    二、可以运用 toJSONString()或者全局要领 JSON.stringify()将JSON对象转化为JSON字符串。

    例如:

    var last=obj.toJSONString(); //将JSON对象转化为JSON字符

    或者

    var last=JSON.stringify(obj); //将JSON对象转化为JSON字符

    alert(last);

    留心:

    上面的多个要领中,除了eval()函数是js自带的之外,其他的多个要领都来自json.js包。新版本的 JSON 修改了 API,将 JSON.stringify() 和 JSON.parse() 两个要领都注入到了 Javascript 的内建对象里面,前者变成了 Object.toJSONString(),而后者变成了 String.parseJSON()。如果提示找不到toJSONString()和parseJSON()要领,则说明您的json包版本太低。

 

 

                            JQuery获取json方法

      语法:

        jQuery.getJSON(url,data,success(data,status,xhr))

      参数:

参数 描述
url 必需。规定将请求发送的哪个 URL。
data 可选。规定连同请求发送到服务器的数据。
success(data,status,xhr)

可选。规定当请求成功时运行的函数。

额外的参数:

  • response - 包含来自请求的结果数据
  • status - 包含请求的状态
  • xhr - 包含 XMLHttpRequest 对象

      用例:

        $.getJSON("test.js", function(json){ alert("JSON Data: " + json.users[3].name); });

转载于:https://www.cnblogs.com/xasdcf/p/10240822.html

你可能感兴趣的文章
[数据库]关于三个比较典型的数据库试题(1.找到员工表中工资最高的前三名;2.找到员工表中薪水大于本部门平均薪水的员工;3.统计每年入职的员工个数)...
查看>>
iframe父子页面通信
查看>>
ambari 大数据安装利器
查看>>
java 上传图片压缩图片
查看>>
magento 自定义订单前缀或订单起始编号
查看>>
ACM_拼接数字
查看>>
计算机基础作业1
查看>>
Ubuntu 深度炼丹环境配置
查看>>
C#中集合ArrayList与Hashtable的使用
查看>>
从一个标准 url 里取出文件的扩展名
查看>>
map基本用法
查看>>
poj-1163 动态规划
查看>>
Golang之interface(多态,类型断言)
查看>>
Xshell5显示乱码问题
查看>>
移动端开发兼容性处理整理
查看>>
Jzoj5451【NOIP2017提高A组冲刺11.4】Genocide(待补充)
查看>>
input的disable和readonly
查看>>
Mysql命令行导入sql数据
查看>>
微信小程序--bind 和catch区别
查看>>
【jzoj】2018.1.31 NOIP普及组——D组模拟赛
查看>>