繁难的ajax

get申请

//get申请const xhr = new XMLHttpRequest()xhr.open("GET","/api",false)//false示意申请形式为异步xhr.onreadystatechange = function () {    if(xhr.readyState === 4){        if(xhr.status === 200){            console.log(JSON.parse(xhr.responseText))//转化成json格局        }    }}xhr.send(null)

post申请

const xhr = new XMLHttpRequest()xhr.open("POST","/login",false)xhr.onreadystatechange = function () {    if(xhr.readyState === 4){        if(xhr.status === 200){            console.log(JSON.parse(xhr.responseText))        }    }}const postData = {    username:'张三',    password:'123456'}xhr.send(JSON.stringify(postData))//发送字符串
xhr.readyState状态
  • 0-(未初始化)还没有调用send()办法
  • 1-(载入)已调用send()办法,正在发送申请
  • 2-(载入实现)send()办法执行实现,曾经接管到全副响应内容
  • 3-(交互)正在解析响应内容
  • 4-(实现)响应内容解析实现,能够在客户端调用
xhr.status
  • 2xx-示意胜利解决申请,如200
  • 3xx-重定向,浏览器间接跳转,如301(永恒重定向),302(长期重定向),304(资源未扭转)
  • 4xx-客户端申请谬误,如404(申请地址有谬误),403(客户端没有权限)
  • 5xx-服务器端谬误