• 基于promise用于浏览器和node.js的http客户端的axios


    axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端,它本身具有以下特征:

    • 从浏览器中创建 XMLHttpRequest
    • 从 node.js 发出 http 请求
    • 支持 Promise API
    • 拦截请求和响应
    • 转换请求和响应数据
    • 取消请求
    • 自动转换JSON数据
    • 客户端支持防止 CSRF/XSRF

    axios中文文档:https://blog.csdn.net/qq_36538012/article/details/81942990
    axios-w3cschool-菜鸟教程:http://www.27900.com/axios

    Vue 官方建议用 axios 代替 vue-resourse,所以在这里不做vue-resourse的探讨;

    axios 使用基本方法和个别参数

    axios({
                url: 'http://jsonplaceholder.typicode.com/users',
                method: 'get',
                responseType: 'json', // 默认的
                data: {
                    //'a': 1,
                    //'b': 2,
                }
            }).then(function (response) {
                console.log(response);
                console.log(response.data);
            }).catch(function (error) {
                console.log(error);
            })
    

    相关依赖

    安装

    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内置服务器向外暴露的静态文件夹

    图片.png

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

    图片.png

    {
       "name":"wnagxiaoting",
       "age":24
    }
    

    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:前台显示:

    图片.png

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

  • 相关阅读:
    java的锁机制
    视图生命周期
    UIButton @selector 想要传递多个参数
    UIButton @selector 想要传递多个参数
    UITableView 实现A1A2---Z1Z2.。。。。
    iOS 代理
    PickerView
    照片墙
    分栏控制器
    XIB 拖控件
  • 原文地址:https://www.cnblogs.com/ting6/p/9726074.html
Copyright © 2020-2023  润新知