Vue简单实例——Axios

简单介绍:

Axios 是一个基于 promise 网络请求库,作用于node.js 和浏览器中。 它是 isomorphic 的(即同一套代码可以运行在浏览器和node.js中)。在服务端它使用原生 node.js http 模块, 而在客户端 (浏览端) 则使用 XMLHttpRequests。

这是官网的介绍,巴拉巴拉,可以理解就是一个用来请求服务端发来的数据,和接口数据,还能给服务端发送数据的一个方便好用的插件

安装方法:

建议使用npm安装,命令如下:

npm install axios --save

建议使用npm的方式进行下载和安装

使用方法:

在安装好之后,就可以在需要使用的组件中引入,然后就可以使用了,我们先演示一下从本地获取数据:

<template>
    <div>
        <!-- 将获取到的数据渲染到页面中 -->
        {{this.items}}
    </div>
</template>

<script>
    // 首先导入axios插件
    import axios from 'axios'
    export default{
        name:'test_demo',
        data(){
            return{
                // 这个变量用来存储获取到的数据
                items:[]
            }
        },
        // mounted方法,当页面加载完毕后触发里面的内容
        mounted(){
            // 使用axios的get方法,参数是数据源的路径
            axios.get('/data.json')
            // then方法就是获取参数之后的执行逻辑,方法的参数就是获取到的数据
            // 但是这个数据是经过axios包装之后的数据,除了数据源之外还有很多的其他的信息
            // 我们只需要获取其中的data节点中的数据,就是我们的数据源中的数据
            .then(response => {
                // 将获取到的数据转存到data节点的变量中
                this.items = response.data
                // catch方法是当获取的过程中如果出错了就会执行的方法
            }).catch(response => {
                // 参数是错误信息,我们一般会将错误信息输出在控制台
                console.log(response)
            })
        }
    }
</script>

<style scoped>

</style>

数据源:

我们的数据源是一个json文件,存放在vue的public文件夹下面:

 在获取的时候,可以直接写成根目录下的data.json,因为在我们vue打包的时候,根目录由原来的项目路径变成了public,也就是index.html文件所在的文件夹,所以get的参数可以直接写成”/data.json"的形式,然后来看看文件中的数据形式:

 然后是网页端的渲染结果:

 可以看到,数据已经输出到网页中了;

API:

其中涉及到三个方法:get、then和catch

get方法就是用来表明数据源的地址

then方法就是对获取到的数据做的逻辑处理

catch方法就是当获取信息的时候如果出错了的处理逻辑

其实不写在mounted方法中也可以,可以给dom绑定一个可以触发方法的事件,然后在方法中使用axios请求就可以了

请求接口数据:

上面的案例演示了从本地获取数据,接下来演示从接口中获取数据,其实结构是完全一样的,只是将get的参数从原来的本地路径改成了接口路径:

代码实现:

<template>
    <div>
        <!-- 将获取到的数据渲染到页面中 -->
        {{this.items}}
    </div>
</template>

<script>
    // 首先导入axios插件
    import axios from 'axios'
    export default{
        name:'test_demo',
        data(){
            return{
                // 这个变量用来存储获取到的数据
                items:[]
            }
        },
        // mounted方法,当页面加载完毕后触发里面的内容
        mounted(){
            // 在获取接口数据的时候,是将get的参数改成接口中的数据即可
            // 这里我们用一个免费的接口来进行测试:http://jsonplaceholder.typicode.com/
            axios.get('http://jsonplaceholder.typicode.com/users')
            // then方法就是获取参数之后的执行逻辑,方法的参数就是获取到的数据
            // 但是这个数据是经过axios包装之后的数据,除了数据源之外还有很多的其他的信息
            // 我们只需要获取其中的data节点中的数据,就是我们的数据源中的数据
            .then(response => {
                // 将获取到的数据转存到data节点的变量中
                this.items = response.data
                // catch方法是当获取的过程中如果出错了就会执行的方法
            }).catch(response => {
                // 参数是错误信息,我们一般会将错误信息输出在控制台
                console.log(response)
            })
        }
    }
</script>

<style scoped>

</style>

接口数据:

显示效果:

接口地址:jsonplaceholder.typicode.com/posts

 这是一个免费的假的API接口,提供了一些虚拟的数据用来测试,就是有时候连接不是很稳定

GET请求方式:

get的请求方式,就是用来获取数据的请求方式,我们之前在案例中使用的都是get请求方式,我们用get请求方式从接口中获取数据并美化一下输出的形式:

显示效果:

 

代码实现:

<template>
    <div>
        <!-- 将获取的数据美化一下 -->
        <!-- 因为获取的是一个json文件数据,所以可以用“.”获取到具体的属性 -->
        <ul v-for="item in items" :ket="item.id">
            <li>{{item.body}}</li>
        </ul>
    </div>
</template>

<script>
    // 首先导入axios插件
    import axios from 'axios'
    export default{
        name:'test_demo',
        data(){
            return{
                // 这个变量用来存储获取到的数据
                items:[]
            }
        },
        // mounted方法,当页面加载完毕后触发里面的内容
        mounted(){
            // 在获取接口数据的时候,是将get的参数改成接口中的数据即可
            // 这里我们用一个免费的接口来进行测试:http://jsonplaceholder.typicode.com/comments
            axios.get('http://jsonplaceholder.typicode.com/comments')
            // then方法就是获取参数之后的执行逻辑,方法的参数就是获取到的数据
            // 但是这个数据是经过axios包装之后的数据,除了数据源之外还有很多的其他的信息
            // 我们只需要获取其中的data节点中的数据,就是我们的数据源中的数据
            .then(response => {
                // 将获取到的数据转存到data节点的变量中
                this.items = response.data
                // catch方法是当获取的过程中如果出错了就会执行的方法
            }).catch(response => {
                // 参数是错误信息,我们一般会将错误信息输出在控制台
                console.log(response)
            })
        }
    }
</script>

<style scoped>
    li{
        border-bottom: 1px black dotted;
        font-size: 20px;
        color: green;
    }
</style>

数据源:http://jsonplaceholder.typicode.com/comments

因为请求的数据源是一个json文件,所以可以用“."的形式获取里面的具体数据,就是可以当作一个对象数据来使用

POST请求方式:

post请求方式是将数据传递到服务器端使用的,是一种提交方式:

代码实现:

<template>
    <div>
        <!-- 设置需要传递的数据 -->
        姓名:<input type="text" v-model="name" name="name"/><br>
        <br>
        内容:<textarea name="title" id="" cols="30" rows="10"  v-model="title"></textarea>
        <br>
        <br>
        <!-- 绑定一个点击事件 -->
        <!-- prevent属性表示触发的是一个自定义事件而不是原生的dom事件 -->
        <button @click.prevent="post">提交</button>
    </div>
</template>

<script>
    import axios from 'axios'
    export default{
        name:'axios_post',
        data(){
            return{
                name:'',
                title:''
            }
        },
        methods:{
            post(){
                // 将get方法改成post方法就可以完成post请求
                axios.post('http://jsonplaceholder.typicode.com/comments/',{
                    name:this.name,
                    title:this.title
                    // then方法表示请求成功之后进行的逻辑操作,这里输出一下传递的数据
                }).then(response => {
                    console.log(response)
                })
            }
        }
    }
</script>

<style scoped>

</style>

显示效果:

因为axios会对请求的数据做一层封装,所以这里我们只需要看data节点的数据即可,可以看到我们确实将我们写入的数据进行的传递并在回调用显示出来了 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue3中简单使用axios的步骤如下所示: 1. 首先,需要导入VueaxiosVueAxios这三个库。可以使用以下代码进行导入: ``` import Vue from 'vue' import axios from 'axios' import VueAxios from 'vue-axios' Vue.use(VueAxios, axios) ``` 2. 接下来,我们将使用axios实例,将其单独编写为一个js文件。你可以选择将该文件放在src/plugins/文件夹中,命名为axiosInstance.js。在该文件中,我们需要导入axios,并使用axios的create([config])方法创建一个axios实例。config参数是axios的基本配置信息,其中包括baseURL和timeout等。以下是一个示例代码: ``` import axios from 'axios' const API = axios.create({ baseURL: 'http://localhost:8080', // 请求后端数据的基本地址,根据实际情况进行修改 timeout: 2000 // 请求超时设置,单位ms }) export default API ``` 以上是Vue3中简单使用axios的步骤。通过以上步骤,你就可以在Vue3中使用axios进行网络请求了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [vue3中使用axios](https://blog.csdn.net/qq_43647821/article/details/123127824)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Vue 03-Axios的使用详解](https://blog.csdn.net/weixin_57519357/article/details/127209328)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值