2-1 未封装的ajax

  1. var app = document.getElementById("app")
  2. var url = "http://192.168.4.18:8000";
  3. /* ajax 如何使用ajax向后台获取数据 */
  4. /* 1.创建ajax核心对象 */
  5. var xhr = new XMLHttpRequest()
  6. /* 2.与服务器建立连接 xhr.open(method,url,async)
  7. 请求的方式,地址,是否异步 */
  8. xhr.open("get",url,true)
  9. /* 3.发送请求 */
  10. xhr.send()
  11. /* 4.响应 */
  12. /* onreadystatechange 监听服务器的响应状态 */
  13. xhr.onreadystatechange = function(){
  14. /* xhr.status 服务器端响应的状态码 200 */
  15. /* xhr.readyState 服务器响应的进度 4 响应已经完成 */
  16. /*
  17. 0:未初始化(Uninitialized)。尚未调用 open()方法。
  18. 1:已打开(Open)。已调用 open()方法,尚未调用 send()方法。
  19. 2:已发送(Sent)。已调用 send()方法,尚未收到响应。
  20. 3:接收中(Receiving)。已经收到部分响应。
  21. 4:完成(Complete)。已经收到所有响应,可以使用了。
  22. */
  23. if(xhr.readyState == 4 && xhr.status ==200){
  24. var txt = xhr.responseText
  25. /* JSON.parse() 可以将json格式的字符串,转换为json格式的数据 */
  26. var obj = JSON.parse(txt)
  27. console.log(obj);
  28. app.innerHTML = obj.name
  29. }
  30. }

2-2 JSON.parse( )

可以将json格式的字符串,转换为json格式的数据

  1. JSON.parse( ) // 将json格式的字符串转为json对象
  2. JSON.stringify( ) // 将json对象转为json格式的字符串

2-3 封装的ajax

  1. /* 解构,回调函数 */
  2. function ajax({
  3. url,
  4. method,
  5. success
  6. }){
  7. var xhr = new XMLHttpRequest()
  8. xhr.open(method,url,true)
  9. xhr.send()
  10. xhr.onreadystatechange = function(){
  11. if(xhr.readyState == 4 && xhr.status == 200){
  12. var res = JSON.parse(xhr.responseText)
  13. success(res)
  14. }
  15. }
  16. }
  1. <script>
  2. var url = "http://192.168.4.18:8000/"
  3. ajax({
  4. url,
  5. method:"get",
  6. success:res=>{
  7. console.log(res);
  8. }
  9. })
  10. </script>