• Ajax-XMLHttpRequest
    • 知识点
      • XMLHttpRequest
      • 状态码

    Ajax-XMLHttpRequest

    • 手动编写一个ajax,不依赖第三方库
    • 跨域的几种实现方式

    知识点

    XMLHttpRequest
    1. var xhr = new XMLHttpRequest();
    2. xhr.open("GET","/api",false)
    3. xhr.onreadystatechange = function () {
    4. //这里的函数异步执行,可参考之前JS基础的异步模块
    5. if(xhr.readyState == 4){
    6. if (xhr.status == 200) {
    7. alert(xhr.responseText)
    8. }
    9. }
    10. }
    11. xhr.send(null);
    • IE低版本使用ActiveXObject,和W3C标准不一样
    • IE低版本使用量已经非常少,很多网站早已不支持IE低版本
    • 建议对IE低版本的兼容性:了解即可,无需深究
    状态码
    1. xhr.onreadystatechange = function () {
    2. //这里的函数异步执行,可参考之前JS基础的异步模块
    3. if(xhr.readyState == 4){
    4. if (xhr.status == 200) {
    5. alert(xhr.responseText)
    6. }
    7. }
    8. }
    • readyState
      • 0-(未初始化)还没有调用send()方法
      • 1-(载入)已调用send()方法,正在发送请求
      • 2-(载入完成)send()方法执行完成,已经接收到全部响应内容
      • 3-(交互)正在解析响应内容
      • 4-(完成)响应内容解析完成,可以在客户端调用
    • status
      • 2XX-表示成功处理请求。如200
      • 3XX-需要重定向,浏览器直接跳转
      • 4XX-客户端请求错误,如404
      • 5XX-服务端错误