1.未封装的ajax

    1. <script>
    2. /* 实现ajax的前提
    3. 1、html页面
    4. 2、需要后端给我们提供的数据接口
    5. 3、DOM将获取的数据放到页面上
    6. */
    7. var url = `http://127.0.0.1:5500/mock/index.json`
    8. /* 1、创建ajax的核心对象 */
    9. var xhr = new XMLHttpRequest();
    10. /* 2、需要与服务器建立连接 */
    11. xhr.open("get",url,true)
    12. /* 3、发送请求 */
    13. xhr.send();
    14. /* 4、响应数据 */
    15. /* onreadystatechange监听服务器状态的变化 */
    16. xhr.onreadystatechange = function(){
    17. // readystate值代表服务器响应的变化 ==4 请求完成,响应准备就绪
    18. /* status==200请求成功,数据成功的响应 */
    19. /*
    20. 0:未初始化(Uninitialized)。尚未调用 open()方法。
    21. 1:已打开(Open)。已调用 open()方法,尚未调用 send()方法。
    22. 2:已发送(Sent)。已调用 send()方法,尚未收到响应。
    23. 3:接收中(Receiving)。已经收到部分响应。
    24. 4:完成(Complete)。已经收到所有响应,可以使用了。
    25. */
    26. if(xhr.readyState==4 && xhr.status==200){
    27. var res = JSON.parse(xhr.responseText)
    28. console.log(res)
    29. }
    30. }
    31. </script>

    2.JSON.parse( )
    可以将json格式的字符串,转换为json格式的数据

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

    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>