响应数据格式
提问:如果希望服务端返回一个复杂数据,该如何处理?
关心的问题就是: 服务端发出何种格式的数据,这种格式如何在客户端用 JavaScript 解析。
XML
一种数据描述手段
比较老, 基本现在的项目不用了。
淘汰的原因:数据冗余太多
JSON
也是一种数据描述手段,类似于 JavaScript 字面量方式
服务端采用 JSON 格式返回数据,客户端按照 JSON 格式解析数据。
不管是 JSON 也好,还是 XML,只是在 AJAX 请求过程中用到,并不代表它们之间有必然的联系,它们只是 数据协议罢了
<script> var xhr = new XMLHttpRequest() xhr.open('GET', 'test.php') xhr.send() // 我们通过代码告诉请求代理对象,服务端响应给我们的是 JSON xhr.responseType = 'json' xhr.onreadystatechange = function () { if (this.readyState !== 4) return console.log(this.response) // this.response 获取到的结果会根据 this.responseType 的变化而变化 // this.responseText 永远获取的是字符串形式的响应体 } </script>