网络请求返回数据格式_原生 Ajax 详解 - 响应数据格式

55ed51203c95b564c3cb5e4974b8b8c9.png

好好学习,天天向上

本章主要内容是:XML 数据格式(做了解)、JSON 数据格式

  • 如果希望服务端返回一个复杂数据,该如何处理?
  • 关心的问题就是服务端发出何种格式的数据,这种格式如何在客户端用 JavaScript 解析

1、XML 数据格式

  • 一种数据描述手段
  • 只做了解就 ok
  • 淘汰的原因:数据冗余太多
<?xml verson="1.0" encoding="utf-8" ?>
<booklist>
  <book>
    <name>三国演义</name>
    <author>罗贯中</author>
    <cate>古典名著</cate>
  </book>
  <book>
    <name>西游记</name>
    <author>吴承恩</author>
    <cate>古典名著</cate>
  </book>
  <book>
    <name>红楼梦</name>
    <author>曹雪芹</author>
    <cate>古典名著</cate>
  </book>
</booklist>
<!-- xml 就是一种数据格式 -->
<!-- 元数据:用来描述数据的数据 -->
<!-- 这种数据的缺点:
1.元数据占用的数据量比较大的,不利于大量数据的网络传输
2.在其他语言中,比如 js,解析内部数据时,方法比较复杂,不方便使用 -->

2、JSON 数据格式

JSON

  • JavaScript Object Notation,JavaScript 对象表示法
  • 也是一种数据描述手段,类似于 JavaScript 字面量方式
  • 服务端采用 JSON 格式返回数据,客户端按照 JSON 格式解析数据

json 格式的数据,与 js 对象的区别

  • 1、json 数据不需要存到变量中
  • 2、结束时不需要写分号
  • 3、json 数据中的属性名必须加引号

创建 json 格式的文件,如:data.json

 {
    "name": "wth",
    "age": 25,
    "hobby": ["听歌", "唱歌"]
}

将 json 格式数据放到一个字符串中的使用

var str = '{"name": "wth", "age": 25}';

json 对象其中有两个方法

  • parse 方法是把 json 格式中的数据转换成 js 对象
  • stringify 方法把 js 的对象转换成一个字符串
<script>
    // js 对象字面量
    var obj = {
        name: "wth",
        age: 25,
        cp: {
            name: "www",
            age: 33
        }
    };
    // 将 json 格式数据放到一个字符串中的使用
    var str = '{"name": "wth", "age": 25}';
    console.log(JSON); 
    console.log(obj);
    console.log(JSON.stringify(obj));
    // 使用 json 对象的 parse 方法可以将 json 格式的字符串转换成对象格式
    // 具有了属性和方法,方便我们在 js 中进行使用
    console.log(JSON.parse(str));
    var strObj = JSON.parse(str);
    console.log(strObj.name);
    console.log(strObj.age);
</script>

注意

  • 不管是 JSON 也好,还是 XML,只是在 AJAX 请求过程中用到,并不代表它们与 AJAX 之 间有必然的联系,它们只是数据协议罢了
  • 不管服务端是采用 XML 还是采用 JSON 本质上都是将数据返回给客户端
  • 服务端应该根据响应内容的格式设置一个合理的 Content-Type
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值