AJAX:async(异步) JavaScript and XML(JSON)
简单一句话AJAX就是用JS发送请求和收响应
AJAX是浏览器上的功能:
- 浏览器可以发请求,收响应
- 浏览器在window上加了一个XMLHttpRequest函数
- 用这个构造函数(类)可以构造出一个对象,window.XMLHttpRequest是用来创建XMLRequest对象的
- JS通过它实现发请求,收响应
一共四行
1、创建对象
2、设置请求方式和路径
3、发送消息体
4、监听onreadystatechange事件,在readyState为4且状态码为200和300之间(包含200)或304时调用成功回调否则调用失败回调。
var xhr = new XMLHttpRequest()
//第一个参数请求方法,第二个请求路径,第三个同步还是异步(AJAX只用异步的),默认异步即可。
xhr.open('GET','/xxx',)
//成功之后要有一个回调
//但是一般他们想让你写这个函数,准备状态变化
xhr.onreadystatechange = function(){
if(xhr.readyState === 4){ //1234各有不同的涵义 之前笔记有 mdn readyState也可
if(request.status>=200 && request.status<300||request.status === 304){//304表示内容没有更改
success(xhr) //success是你定义好的回调
} else{
fail(xhr)
}
}
}
//请求体(GET 请求体空的(就算你写了也不会发送) POST 传一个JSON数据)
xhr.send('{"name":"frank"}')