Vue axios 详细介绍(核心使用、封装、个性化配置,破万字)

本文详细介绍了如何在 Vue.js 应用中使用 axios 进行 API 请求,包括全局配置、基本使用方法(GET、POST请求)、并发请求、以及通过配置对象进行请求。此外,还讨论了请求配置的详细选项,如URL参数、请求头、自定义实例默认值等。文章适合前端开发者了解和掌握 axios 的核心用法。
摘要由CSDN通过智能技术生成

3、全局使用

//main.js

import axios from ‘axios’

Vue.prototype.$axios = axios

4、基本使用案例

执行get请求

// 为给定 ID 的 user 创建请求

axios.get(‘/user?ID=12345’).then(function (response) {

console.log(response);

}).catch(function (error) {

console.log(error);

});

// 上面的请求也可以这样做

axios.get(‘/user’, {

params: {

ID: 12345

}

}).then(function (response) {

console.log(response);

}).catch(function (error) {

console.log(error);

});

执行post请求

axios.post(‘/user’, {

firstname: ‘Fred’,

lastName: ‘Flintstone’

}).then(function (response) {

console.log(response);

}).catch(function (error) {

console.log(error);

});

执行多个并发请求

function getUserAccount () {

return axios.get(‘/user/12345’);

}

function getUserPermissions () {

return axios.get(‘/user/12345/permissions’);

}

axios.all([getUserAccount(), getUserPermission()])

.then(axios.spread(function (acct, perms) {

// 两个请求都执行完成

}));

以上为基本使用,现在通过实例中实践一下

假如现在有某个接口(API),我们需要通过get请求调用,然后将返回数据渲染在页面上

api:https://api.apiopen.top/getJoke

入参:page=1、count=2、type=video

根据上面的基本使用案例可知,可以使用两种方式,接下来一一验证

1、URL地址参数拼接

由上面的api和入参可得拼接后的URL为:https://api.apiopen.top/getJoke?page=1&count=2&type=video(api后?将参数拼接,多个参数用&连接)

我是A组件

刷新页面,打开F12,切换到Network,发现此时页面发送了请求

切换到Console,查看控制台打印信息

我们已经成功获取接口的响应信息(返回值) ,数据结构为json格式,此时我们可以将想要的数据渲染到页面上,展开查看json数据

如我们想要将红色部分的信息渲染在页面上,此时可以对响应信息稍作处理

我是A组件

{ {result}}

页面显示效果

2、传入params对象形式

另外一种get请求的写法,使用params对象,将所传参数当成params对象的键值对传入。以下可达到相同效果

this.$axios.get(‘https://api.apiopen.top/getJoke’,{

params:{ //将URL地址拼接参数的形式换成传入params对象的形式

page:1,

count:2,</

  • 21
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue2中,对axios进行二次封装的方法如下: 1. 首先,安装axiosVueAxios依赖: ```shell npm install axios vue-axios --save ``` 2. 在main.js中导入并使用VueAxios: ```javascript import Vue from 'vue' import axios from 'axios' import VueAxios from 'vue-axios' Vue.use(VueAxios, axios) ``` 3. 创建一个api.js文件,用于封装axios请求: ```javascript import axios from 'axios' // 设置axios的默认配置 axios.defaults.baseURL = 'http://api.example.com' axios.defaults.timeout = 5000 // 创建一个axios实例,并设置拦截器 const instance = axios.create({ baseURL: axios.defaults.baseURL, timeout: axios.defaults.timeout }) instance.interceptors.request.use( config => { // 在发送请求之前做些什么 return config }, error => { // 对请求错误做些什么 return Promise.reject(error) } ) instance.interceptors.response.use( response => { // 对响应数据做些什么 return response }, error => { // 对响应错误做些什么 return Promise.reject(error) } ) // 封装具体的请求方法 export const getData = params => { return instance.get('/data', { params }) } export const postData = data => { return instance.post('/data', data) } ``` 4. 在需要使用的组件中引入api.js,并通过调用封装的方法发送请求: ```javascript import { getData, postData } from './api.js' export default { methods: { fetchData() { getData({ id: 1 }) .then(response => { // 处理返回的数据 }) .catch(error => { // 处理请求失败的情况 }) }, postData() { postData({ name: 'example' }) .then(response => { // 处理返回的数据 }) .catch(error => { // 处理请求失败的情况 }) } } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值