1. 程式人生 > 其它 >網路請求返回資料格式_原生 Ajax 詳解 - 響應資料格式

網路請求返回資料格式_原生 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