ajax+axios——统一设置请求头参数——添加请求头入参——基础积累

最近在写后台管理系统(我怎么一直都只写管理系统啊啊啊啊啊啊啊),遇到一个需求,就是要在原有系统的基础上,添加一个仓库的切换,并且需要把选中仓库对应的id以请求头参数的形式传递到每一个接口当中。。。

需求场景

在这里插入图片描述

在这里插入图片描述
如上图所示:需要在接口请求头中添加一个Storeid参数。

之前在博客中写过单个接口添加请求头的方法,如下面的代码,也是可以实现的。

ajax——单个接口请求头设置方法1:

$.ajax({
	url: "/bigscreen/home/getDeptRiskInfoById",
	async: false,//是否异步,如果开启,则接口同步进行
	type: "GET",//大写的GET等同于小写的get
	data: {
		deptId: id,
	},
	headers: { "token": token },//设置请求头
	success: function (data) {
		//
	}
});

ajax——单个接口请求头设置方法2:

$.ajax({
    url: "/api/SchemeMain?id=" + row.id,
    type: "delete",
    beforeSend: (request) => {
        request.setRequestHeader("operator", encodeURIComponent(this.userName));
        request.setRequestHeader("operatorId", this.userId);
    },
    xhrFields: {
        withCredentials: true
    },
    success: res => {
        if (res.success) {
            this.$message.success('删除成功');
        } else {
            this.$message.error(res.message);
        }
    },
    complete: () => {}
})

但是由于当前系统改装,接口实在是太多,则我这边需要全局设置一下请求头:

ajax——全局设置请求头的方法

前提是需要引入jquery,事先我是将仓库id以localstorage的形式存储到本地缓存中了,缓存名称:currentStoreId

<script>
    // 设置全局的默认请求头
    $.ajaxSetup({
        headers: {
            'StoreId': localStorage.getItem('currentStoreId') // 设置 Authorization 字段
        }
    });
</script>

同理,axios的全局设置请求头的方法如下:

axios——全局设置请求头的方法

import axios from 'axios';
import Cookie from 'js-cookie';
const BASE_URL = process.env.VUE_APP_API_BASE_URL;
axios.defaults.timeout = 20000;
axios.defaults.withCredentials = false;
axios.defaults.baseURL = BASE_URL;
axios.defaults.headers.common['Authorization'] = getAuthorization();
axios.defaults.headers.common['ceshi'] = '2222'; //可以设置组织架构id

效果如下所示:
在这里插入图片描述
完成!!!多多积累,多多收获!!!

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 为了在Vue中使用axios发送请求,并在请求头添加Cookie,可以按照以下步骤操作: 1. 首先,需要在Vue项目中安装axios。使用以下命令安装axios: ``` npm install axios ``` 2. 在Vue项目的入口文件(一般是main.js)中,引入axios,并将其挂载到Vue实例上: ```javascript import axios from 'axios'; Vue.prototype.$http = axios; ``` 3. 在发送请求的组件中,可以使用`this.$http`来调用axios发送请求。在发送请求时,可以通过设置请求头添加Cookie。例如,可以使用axios的`defaults`属性来设置全局的请求头,如下所示: ```javascript this.$http.defaults.headers.common['Cookie'] = 'your_cookie_value'; ``` 4. 在具体的请求中,可以使用axios的`get`、`post`等方法发送请求。例如,发送一个GET请求并带有Cookie: ```javascript this.$http.get('/api/your_url').then(response => { // 处理响应 }).catch(error => { // 错误处理 }); ``` 以上就是在Vue中使用axios发送请求,并在请求头添加Cookie的方法。通过设置请求头,可以在服务器端获取到Cookie并进行相应的处理。 ### 回答2: 在Vue中使用Axios发送请求时,在请求头添加cookie可以通过在Axios配置中设置headers属性的方式来实现。 首先,在Vue项目中安装并引入Axios库,并创建一个Axios的实例: ``` import axios from 'axios' const instance = axios.create() ``` 然后,在发送请求前,通过Axios的拦截器设置请求头: ``` instance.interceptors.request.use((config) => { // 在请求头添加cookie config.headers.Cookie = 'your cookie value' return config }) ``` 在上述代码中,通过`config.headers.Cookie`属性来设置请求头的cookie值,将'your cookie value'替换为你实际需要携带的cookie值。 最后,在需要发送请求的地方使用这个实例进行请求: ``` instance.get('your request url') .then(response => { console.log(response.data) }) .catch(error => { console.log(error) }) ``` 在这个例子中,使用Axios的`get`方法发送一个GET请求,并在成功或失败时打印出相应的结果。 这样,当发送请求时,Axios会在请求头添加我们设置的cookie,完成请求的发送。 ### 回答3: 在Vue中使用axios发送请求并在请求头添加cookie,你可以按照以下步骤进行操作: 1. 首先,确保你已经安装了axios和vue-cookie插件。你可以通过以下命令来安装它们: ``` npm install axios npm install vue-cookie ``` 2. 在你的Vue项目中,你需要在main.js文件中导入和配置axios和vue-cookie。打开main.js文件,并添加以下代码: ```javascript import axios from 'axios'; import Vue from 'vue'; import VueCookie from 'vue-cookie'; Vue.use(VueCookie); axios.defaults.withCredentials = true; // 配置axios的请求拦截器,添加请求头 axios.interceptors.request.use(config => { const token = VueCookie.get('your_cookie_name'); if (token) { config.headers.Cookie = `your_cookie_name=${token}`; } return config; }); Vue.prototype.$axios = axios; ``` 3. 在需要发送请求的组件中,你可以使用以下代码: ```javascript this.$axios.get('your_url') .then(response => { // 处理响应数据 }) .catch(error => { // 处理请求错误 }); ``` 请注意,以上代码默认使用了名为"your_cookie_name"的cookie,你需要将其替换为你自己的cookie名称。同时,请确保你的服务器在响应中包含了相应的Access-Control-Allow-Origin头信息,以允许跨域请求和带cookie的请求。 通过以上步骤,你就可以在Vue中使用axios发送请求,并在请求头添加cookie了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叶浩成520

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值