27_ajax.html 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Document</title>
  7. </head>
  8. <body>
  9. <script>
  10. // ajax 基本原理
  11. // 第一步:创建一个对象实例
  12. let xhr = new XMLHttpRequest();
  13. // 第二步:打开连接
  14. // 第一个参数:请求方法(GET、POST)
  15. // 第二个参数:请求路径(/api/getData)
  16. // 第三个参数:是否异步(true) true 表示异步请求,false 表示同步请求
  17. xhr.open("GET", "https://api.thecatapi.com/v1/images/search");
  18. // 第三步:发送请求
  19. xhr.send();
  20. // 第四步:接收响应
  21. xhr.onreadystatechange = function () {
  22. // onreadystatechange 事件:请求状态改变时触发
  23. // readyState 属性:请求状态码,0-4 之间的整数
  24. // 状态码:0-4
  25. // 0:请求未初始化
  26. // 1:服务器连接已建立
  27. // 2:请求已接收
  28. // 3:请求处理中
  29. // 4:请求已完成
  30. if (xhr.readyState === 4) {
  31. // 请求已完成
  32. // 判断请求是否成功 status
  33. if (xhr.status === 200) {
  34. // 请求成功
  35. // 响应体:服务器返回的数据 responseText
  36. console.log(xhr.responseText);
  37. // 解析响应体
  38. let data = JSON.parse(xhr.responseText);
  39. console.log(data[0].url);
  40. }
  41. }
  42. }
  43. </script>
  44. </body>
  45. </html>