1、AJAX原理

ajax说白了就是一套api,从而实现通过代码控制请求与响应

2、AJAX三部曲

var xhr = new XMLHttpRequest()
xhr.open('请求方式','地址')
xhr.send()

3、onreadystatechange方法

var xhr = new XMLHttpRequest()
xhr.open('请求方式','地址')
xhr.send()
xhr.onreadystatechange = function(){
   }
xhr.addEventListener('readystatechange',function(){
   
   switch(){
   
          case 2:
          console.log(this.getAllResponseHeaders("key")) //key:你想要请求头的哪一项数据
      case 3:      
           case 4:}
})  //建议使用这种方式

一个ajax请求有五个状态:0,1,2,3,4,

0:初始化 请求代理对象

1: open方法调用,建立一个与服务端特定端口的链接

2:send方法已经调用,已经接受到了响应报文的响应头(响应体可能很大不会马上传输过来)

3:正在下载响应体,有可能为空,有可能不完整

4:一切ok

onload事件

var xhr = new XMLHttpRequest()
xhr.open('请求方式','地址')
xhr.send()
xhr.onloade = function(){
   
   console.log(this.readystate)
}

onload事件是HTML5的api,这个方法相当于是第4个状态

AJAX遵循HTTP协议

var xhr = new XMLHttpRequest()
xhr.open('请求方式','地址')
xhr.setRequestHeader('键名','键值') // 配置请求头
xhr.setRequestHeader('Content-type','application/x_Www-from-urlencode')
xhr.send('key1=value1')