AJAX:Async JavaScript And XML(使用 XMLHttpRequest 对象与服务器通信),它可以使用JSON,XML,HTML,和 text文本等格式发送和接收数据
AJAX的异步特性
可以在不重新刷新页面的情况下与服务器通信,交换数据,或更新页面
背景
AJAX是浏览器上的功能
浏览器可以发请求,收响应
浏览器在window上加了一个XMLHttpRequest函数
用这个构造函数(类)可以构造出一个对象
JS通过它实现发请求,收响应
准备一个服务器
使用serve.js作为服务器
用 node serve.js 8888 启动(不会自动刷新)
安装node-dev(这样再启动就会自动重启服务器),用node-dev代替node
yarn global add node-dev
node-dev serve.js 8888
添加index.html和main.js两个路由
四个步骤
创建对象的HttpRequest对象(全称是XMLHttpRequest)
调用对象的open方法
监听对象的onreadystatechange事件
调用对象的send方法
const requesr = new XMLHttpRequest();
request.open("GET","./xxx");
request.onreadystatechange = ()=>{
if(request.readyState === 4 ){
//下载成功
if(request.status > 200 && request.status < 300){
//请求成功
}
}
}
request.send();
解析方法
得到CSS之后生成style标签
得到JS之后生成script标签
得到HTML之后使用innerHTML和DOM API
得到XML之后使用responseXML和DOM API
不同类型的数据有不同类型的解析方法
加载JSON
JSON是一门语言,和HTML、CSS、XML、JS一样,是一门独立的语言
JSON不是编程语言,是标记语言,跟HTML、XML、Markdown一样,用来展示数据
支持的数据类型
string - 只支持双引号 number - 只支持科学计数法 bool - true和false null object array
官网http://json.org/json-zh.html
window.JSON
JSON.parse
将符合JSON语法的字符串转换成JS对应类型的数据
由于JSON只有六种数据结构,所以转换成的数据也只有六种
如果不符合JSON语法,则直接抛出一个Error对象
JSON.stringfy
JSON,parse的逆运算