ajax
- 作用:在网页中不跳转的情况下,向服务器请求数据
 - 应用:局部刷新
 - 交互三个流程: 
  
- 请求(浏览器)
 - 处理(服务器)
 - 相应(服务器)
 
 
ajax的工作流程
- 创建XMLHttpRequest对象(俗称小黄人) 
  
let xhr = new XMLHttpRequest
 - 设置请求: 
  
xhr.open('get', 'https://autumnfish.cn/api/joke');
 - 发送请求: 
  
xhr.send();
 - .注册(响应事件)回调函数 
  
- 这个函数不是立即执行的,而是等服务器把数据响应返回才会执行(PS:什么时候执行取决于你的网速快慢)
 xhr.onload = function () {console.log(xhr.responseText);}
 
post请求
-  
ajax发送post请求:
-  
post请求需要单独设置请求头:不需要记,固定格式
- xhr.setRequestHeader(’Content-type‘,’application/x-www-form-urlencoded‘)
 
 -  
post参数 在xhr.send()方法中发送
 格式: xhr.send(‘key=value’)
 
 -  
 
get和post的区别
请求方法get和post区别: 传参方式不同
 
get请求: 直接在url后面拼接参数
参数在url中,安全性不高
 //(1).实例化ajax对象
    let xhr = new XMLHttpRequest()
    //(2).设置请求方法和地址
    //get请求的数据直接添加在url的后面 格式是 url?key=value
    xhr.open('get', '接口url')
    //(3).发送请求
    xhr.send()
    //(4).注册回调函数
    xhr.onload = function() {
      console.log(xhr.responseText)
    }
 
post请求:
-  
需要设置请求头(固定语法):xhr.setRequestHeader(‘Content-type’,‘application/x-www-form-urlencoded’)
 -  
注意:这是固定格式,错一个字母都不行,强烈建议复制粘贴
 -  
使用xhr的send方法发送参数: xhr.send(‘参数名=参数值’);
 -  
注意:
不要加前面的? 
//(1).实例化ajax对象
    let xhr = new XMLHttpRequest()
    //(2).设置请求方法和地址
    xhr.open('post', '')
    //(3).设置请求头(post请求才需要设置)
    xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded')
    //(4).发送请求 : 参数格式  'key=value' 
    xhr.send('key=value')
    //(5).注册回调函数
    xhr.onload = function () {
      console.log(xhr.responseText)
    }










