- 问题:
- xhr.responseText/responseXML,服务器端, 响应的并不是纯数据, 而是夹带着一些‘界面’,这样不利于数据的重用。
- 引发问题:
- 响应纯文本数据,不能表述每个字段所代表的含义。
json数据交换格式解决
- 首先我们要知道的是服务器端响应给客户端的数据只能是字符串形式
- 目标: 把数据转换成json字符串格式, 返回给客户端
- 服务器端步骤:
- 1.拿到数据
include 'data.php';
- 2.把data中的数据转换成json(字典)
- 3.php端,把上述的对象/数组转换成字符串
//字符串名称 = 转换方法(数组)
$jsonStr = json_encode($goodArray);
echo $jsonStr;
/************************************************************/
// 把一个json字符串转换成数组/对象
//json_decode($jsonStr,true)
- 客户端步骤:
- 1.客户端接收服务器响应的json字符串数据
var goods = xhr.responseText;
//数组名称 = 转换方法(字符串)
var goodArray = JSON.parse(goods);
- 3.遍历这个数组,取出每一个数据。然后动态添加节点,完成需求。
- 问题:兼容问题,ie浏览器不支持
- 使用json2.js这个框架(网上搜索)