網路請求返回資料格式_原生 Ajax 詳解 - 響應資料格式
阿新 • • 發佈:2021-02-17
技術標籤:網路請求返回資料格式
好好學習,天天向上
本章主要內容是: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