ajax.js 1.3 KB

123456789101112131415161718192021222324252627282930313233
  1. function ajax(method, url, callback) {
  2. // ajax 异步请求
  3. // 第一步 实例化一个XMLHttpRequest对象
  4. let xhr = new XMLHttpRequest();
  5. // 第二步 调用open方法 配置请求参数
  6. // open方法参数说明
  7. // 第一个参数:请求方法 GET/POST
  8. // 第二个参数:请求地址
  9. // 第三个参数:是否异步 true/false
  10. xhr.open(method, url, true);
  11. // 第三步 调用send方法 发送请求
  12. xhr.send();
  13. // 第四步 监听状态变化
  14. xhr.onreadystatechange = function () {
  15. // 状态码 0 1 2 3 4
  16. // 0: 请求未初始化 1: 服务器连接已建立 2: 请求已接收 3: 请求处理中 4: 请求已完成,且响应已就绪
  17. if (xhr.readyState == 4) {
  18. // 状态码 200 表示请求成功
  19. if (xhr.status == 200) {
  20. // 响应体
  21. // console.log(xhr.responseText);
  22. // 解析JSON字符串 转换为对象 调用JSON.parse方法
  23. let jsonObj = JSON.parse(xhr.responseText);
  24. // console.log(jsonObj);
  25. // 访问对象属性
  26. // console.log(jsonObj[0].url);
  27. // 成功之后执行传递过来的回调函数
  28. callback(jsonObj);
  29. }
  30. }
  31. }
  32. }