vue+axios全局添加请求头和参数操作

下面是详细讲解“vue+axios全局添加请求头和参数操作”的完整攻略。

1. 添加全局请求头

1.1 在 Vue 项目中安装 Axios

在 Vue 项目中使用 Axios 首先需要安装 Axios。可以通过以下命令安装:

npm i axios -S

1.2 声明 Axios

在 Vue 项目中创建一个 axios.js 文件,然后声明 Axios 并设置全局请求头:

import axios from 'axios';
import store from '@/store';

axios.defaults.baseURL = 'http://api.example.com';
axios.defaults.headers.common['Authorization'] = store.getters.token;
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';

通过以上代码,可以为 Axios 设置全局请求头。其中 defaults.baseURL 设置了请求的基本 URL,defaults.headers.common 设置了默认的请求头,defaults.headers.post 设置了 POST 请求的请求头。

1.3 在 main.js 文件中引入 Axios

将 Axios 引入到 main.js 文件中:

import Vue from 'vue';
import axios from '@/axios';
import App from './App.vue';

Vue.prototype.$http = axios;

以上代码将 Axios 设置为 Vue 的原型属性 $http,可以全局访问。

1.4 发送请求

发送请求时,可以直接使用 this.$http 进行访问,例如:

this.$http.get('/user').then(response => {
  console.log(response.data);
}).catch(error => {
  console.error(error);
});

注意:需要在 store 中保存登录时获取的 token 值,否则获取的 store.getters.token 值为 null。

2. 添加全局请求参数

2.1 声明 Axios

在声明 Axios 中添加请求拦截器,设置全局请求参数:

import axios from 'axios';
import store from '@/store';

axios.interceptors.request.use(
  (config) => {
    config.params = {
      ...config.params,
      token: store.getters.token
    };
    config.paramsSerializer = (params) => {
      return qs.stringify(params, { arrayFormat: 'comma' });
    };
    return config;
  },
  (error) => {
    return Promise.reject(error);
  }
);

以上代码为 Axios 添加了请求拦截器,并设置了全局请求参数。如上代码所示,config.params 设置了默认的请求参数,并将 store.getters.token 添加到 params 中。config.paramsSerializer 将 params 对象序列化为查询字符串,使用逗号作为分隔符。

2.2 在 main.js 文件中引入 Axios

同样地,将 Axios 引入到 main.js 文件中:

import Vue from 'vue';
import axios from '@/axios';
import App from './App.vue';

Vue.prototype.$http = axios;

然后在 Vue 的原型属性 $http 中可以使用全局请求参数:

this.$http.get('/user', {
  params: {
    page: 1
  }
}).then(response => {
  console.log(response.data);
}).catch(error => {
  console.error(error);
});

以上代码中,请求 /user 接口时,全局参数 token 会自动添加,局部参数 page 也会追加到请求参数中。

以上就是“vue+axios全局添加请求头和参数操作”的完整攻略,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue+axios全局添加请求头和参数操作 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • Vue3中的 computed,watch,watchEffect的使用方法

    下面就为大家详细讲解一下“Vue3中的 computed,watch,watchEffect的使用方法”的完整攻略。 computed的使用方法 computed是Vue3中的计算属性,其内部的值是另一个属性的计算结果。在Vue3中,我们可以通过computed()来创建计算属性。 在Vue3中,计算属性默认以getter函数的形式存在,表示计算属性所依赖的…

    Vue 2023年5月28日
    00
  • 从0搭建Vue3组件库如何使用 glup 打包组件库并实现按需加载

    下面是从0搭建Vue3组件库并使用glup打包组件库实现按需加载的完整攻略。 步骤一:搭建组件库的开发环境 1.1 环境依赖 首先,我们需要安装Node.js和npm。在安装完成之后,可以在命令行中输入以下命令进行确认: node -v # 查看当前Node.js版本 npm -v # 查看当前npm版本 1.2 创建Vue3组件库 Vue3框架已经正式发布…

    Vue 2023年5月28日
    00
  • vue2.0 computed 计算list循环后累加值的实例

    下面就为您详细讲解如何使用 Vue2.0 的 computed 计算属性来实现 list 循环后累加值的功能。 1. 简介 在 Vue.js 中,computed 属性是一种计算属性,它能够基于其它属性的值进行计算,并返回一个计算后的值。本文中将会通过 computed 属性来计算 list 循环后累加值的方法。 2. 实现步骤 2.1 数据源 首先,我们需…

    Vue 2023年5月29日
    00
  • 基于VUE实现判断设备是PC还是移动端

    实现判断设备是PC还是移动端可以通过判断窗口的宽度或者使用相关库进行识别。下面是基于VUE实现该功能的攻略: 步骤一:安装必要的依赖 使用VUE实现该功能需要使用Vue相关的插件,例如vue-device-detector。可以通过npm安装: npm install –save vue-device-detector 步骤二:在main.js中使用插件 …

    Vue 2023年5月27日
    00
  • 五分钟教你使用vue-cli3创建项目(新手入门)

    下面我将为您详细讲解“五分钟教你使用vue-cli3创建项目(新手入门)”的完整攻略。 简介 Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统,可用于快速搭建项目。Vue CLI3 是 Vue CLI 的升级版本,提供了更友好、更强大、更快捷的项目脚手架。 环境准备 在使用 Vue CLI3 创建项目之前,您需要先确保安装了 Node.js …

    Vue 2023年5月29日
    00
  • 配置vue全局方法的两种方式实例

    当我们在使用 Vue.js 开发时,我们经常需要在多个组件中使用同一个方法,这时候可以将这个方法作为全局方法。Vue.js 提供了两种方式来配置全局方法。 1.通过 Vue.prototype 实现全局方法 在 Vue.js 初始化时可以通过 Vue.prototype 给 Vue 实例添加自定义属性。通过 Object.defineProperty 实现这…

    Vue 2023年5月28日
    00
  • vue中实现图片压缩 file文件的方法

    现在我将为你详细讲解如何在 Vue 中实现图片压缩的方法。 1. 安装插件 首先,我们需要安装一个非常有用的插件:vue-image-compress。使用此插件,可以轻松地在 Vue 中实现图片压缩功能。 可以使用npm 或 yarn进行安装: npm install vue-image-compress –save 或者 yarn add vue-im…

    Vue 2023年5月28日
    00
  • Vue+Element UI+vue-quill-editor富文本编辑器及插入图片自定义

    下面给你详细讲解一下怎样使用Vue、Element UI和vue-quill-editor富文本编辑器实现插入图片自定义功能。 环境与依赖 首先,我们需要创建一个Vue项目,在命令行中输入以下命令: vue create my-project 然后,进入到项目目录下,安装以下依赖: npm install element-ui vue-quill-edito…

    Vue 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部