• ajax和axios请求本地json数据对比


    AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术,通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

    ajax请求本地json

    test.json
    {
        "first":[
            {"name":"王小婷","nick":"祈澈菇凉"},
            {"name":"安安","nick":"坏兔子"},
            {"name":"编程微刊","nick":"简书"}
            
        ]
    }
    

    代码:

    <!DOCTYPE html>
    <html>
    
        <head>
            <meta charset="UTF-8">
            <title></title>
        </head>
    
        <body>
        </body>
        <script src="http://code.jquery.com/jquery-1.8.0.min.js"></script>
        <script>
            $.ajax({
                url: "ceshi.json", //json文件位置
                type: "GET", //请求方式为get
                dataType: "json", //返回数据格式为json
                success: function(data) { //请求成功完成后要执行的方法 
                    //each循环 使用$.each方法遍历返回的数据date
                    $.each(data.first, function(i, item) {
                        var str = '<div>姓名:' + item.name + '昵称:' + item.nick + '</div>';
                        document.write(str);
                    })
                }
            })
        </script>
    
    </html>
    

    效果如下:

    图片.png

    axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端

    1. 从浏览器制作XMLHttpRequests
    2. 让HTTP从node.js的请求
    3. 支持Promise API
    4. 拦截请求和响应
    5. 转换请求和响应数据
    6. 取消请求
    7. 自动转换为JSON数据
    8. 客户端支持防止XSRF
    

    axios请求本地json

    相关依赖

    安装

    1:npm安装

       npm install axios --save
    

    2.在main.js下引用axios

      import axios from 'axios'
    

    一切环境依赖搭建好之后

    下面来写个例子:axios请求本地json
    1:在static文件夹底下新建json文件,( 本地JSON文件一定要需放在static文件夹之下。)
    访问服务器文件,应该把 json文件放在最外层的static文件夹,这个文件夹是vue-cli内置服务器向外暴露的静态文件夹

    2:test.json数据格式如下:

    {
        "first":[
            {"name":"王小婷","nick":"祈澈菇凉"},
            {"name":"安安","nick":"坏兔子"},
            {"name":"编程微刊","nick":"简书"}
            
        ]
    }
    

    3:写一个axios

    getData() {
    
                    axios.get('../../static/test.json').then(response => {
                        
                        console.log(response.data);
    
                    }, response => {
                        console.log("error");
                    });
                }
    

    4:整体代码如下:

    <template>
        <div id="app">
    
        </div>
    </template>
    
    <script>
        import axios from "axios";
    
        export default {
            name: "app",
            data() {
                return {
                    itemList: []
                }
            },
            mounted() {
                this.getData();
            },
            methods: {
                getData() {
    
                    axios.get('../../static/test.json').then(response => {
                        
                        console.log(response.data);
    
                    }, response => {
                        console.log("error");
                    });
                }
            }
        }
    </script>
    

    5:前台显示:

    区别总结

    axios是通过promise实现对ajax技术的一种封装,就像jQuery实现ajax封装一样。
    简单来说: ajax技术实现了网页的局部数据刷新,axios实现了对ajax的封装。

    axios是ajax ajax不止axios

    原文作者:祈澈姑娘
    技术博客:https://www.jianshu.com/u/05f416aefbe1
    90后前端妹子,爱编程,爱运营,爱折腾。
    坚持总结工作中遇到的技术问题,坚持记录工作中所所思所见,欢迎大家一起探讨交流。

  • 相关阅读:
    Google recaptcha在webform中的使用
    User control's property loses value after a postback
    share memory cache across multi web application
    Losing session data in ASP.NET
    What is the difference between UserControl, WebControl, RenderedControl and CompositeControl?
    maven跳过单元测试-maven.test.skip和skipTests的区别
    @RequestMapping @ResponseBody 和 @RequestBody 注解的用法与区别
    SpringBoot-@PathVariable
    pick王菊?作为“菊外人”的程序员能做点什么?
    数据库CRUD操作
  • 原文地址:https://www.cnblogs.com/ting6/p/9725298.html
Copyright © 2020-2023  润新知