一、异步的优点
    异步任务可用于用户交互,通过触发绑定事件执行异步任务,进行计算或请求后台数据然后局部刷新页面
    如果没有异步任务,网页渲染出来内容就固定了,和报纸没区别了,想要刷新页面只能重新请求重新渲染。有了异步任务,就可以局部刷新页面。很多人说,没有ajax就没有今天的互联网。

    二、Asynchronous Javascript And XML
    (1)ajax可以异步请求网络资源,还可以监听请求过程,从而实现异步刷新页面。
    ajax的核心是Javascript中的XMLHttpRequest对象,这是个构造函数,有自身静态状态属性,原型上有发送请求的各种方法。
    image.png
    (2)使用方法
    (1)创建一个ajax实例
    (2)调用open方法设置:方法,请求地址,请求种类(是否异步,默认是异步)
    (3)注册函数,根据readyState来观察请求过程作出反应
    (4)发送请求
    (5)服务器响应,接受数据

    1. // 1. 创建ajax实例
    2. let FAjax = new XMLHttpRequest(),
    3. url = 'https://www.yuque.com/frank091915/vplc15/cmggc7/edit?toc_node_uuid=-s7GmWQTDc84DUKf'
    4. // 2. 设置请求配置(方法、地址、是否异步)
    5. FAjax.open('get', url,true)
    6. // 3. 添加请求对象观察函数
    7. FAjax.onreadystatechange = ()=>{
    8. console.log(FAjax)
    9. //readystate为4,状态码status为200时,表示响应就绪
    10. if(FAjax.readystate === 4 && FAjax.status === 200){
    11. console.log(FAjax.resposeXML || FAjax.resposeText)
    12. //resposeText为文字类型响应类容,resposeXML为XML类型
    13. }
    14. }
    15. // FAjax.setRequestHeader('content-type', 'application/x-www-form-urlencoded')
    16. // 4. 发送请求
    17. FAjax.send() // 可以传参设置请求体 'name=fox&age=18' 键=值的形式,用&连接

    使用post请求时的注意点:
    (1)post请求可以在send方法中传参来添加请求体
    (2)可以通过ajax.setRequestHeader来设置请求头