当前位置: 首页 > news >正文

axios 发送请求请求头信息不包含Cookie信息

问题

axios 发送请求请求头信息不包含Cookie信息

详细问题

使用Vue+SpringBoot进行项目开发,axios进行网络请求,发送请求,请求头信息不包含Cookie信息
具体如下
实际效果
在这里插入图片描述
预期效果
在这里插入图片描述

解决方案

作用域

Vue项目全局配置

打开Vue项目的入口文件(通常是main.js) → \rightarrow 新增如下配置

import axios from 'axios';
axios.defaults.withCredentials = true;

对于笔者而言,即
在这里插入图片描述

Vue项目中的components或views配置

打开Vue项目中的components或views文件 → \rightarrow 在components或views中的 < S c r i p t > < / S c r i p t > <Script></Script> <Script></Script>头部新增如下配置

import axios from 'axios';
axios.defaults.withCredentials = true;

对于笔者而言,即
在这里插入图片描述

Vue项目中的components或views中的请求方法下

找到Vue项目中的components或views中的请求方法 → \rightarrow 在方法中增加如下配置

axios.get('/api/data', {withCredentials: true
}).then(response => {// 处理响应数据}).catch(error => {// 处理错误});

对于笔者而言,即
在这里插入图片描述

产生原因

问题的产生原因是由于跨域请求的限制,导致axios发送的请求头信息不包含Cookie。具体的,在浏览器的安全策略中,跨域请求默认是不会发送Cookie的。跨域请求是指前端代码所在的域与后端API所在的域不一致,包括域名、端口或协议的差异。由于安全性考虑,浏览器会在默认情况下阻止跨域请求携带Cookie,以防止潜在的安全风险。

解决原因

在前端项目中,通过配置axios的withCredentials属性为true,告诉axios在跨域请求中携带Cookie。可以在全局配置、组件级别的配置或单个请求方法中进行设置。
全局配置:在Vue项目的入口文件(如main.js)中设置axios.defaults.withCredentials = true,使所有的axios请求都携带Cookie。
组件级别的配置:在组件中的 < s c r i p t > <script> <script>标签中引入axios,并设置axios.defaults.withCredentials = true,使该组件中的所有axios请求都携带Cookie。
单个请求方法配置:在特定的axios请求方法中,通过配置项withCredentials: true来单独设置该请求携带Cookie。

参考文献

产生原因以及解决原因参考chatgpt

原创不易
转载请标明出处
如果对你有所帮助 别忘啦点赞支持哈
在这里插入图片描述

http://www.lryc.cn/news/93835.html

相关文章:

  • 正则表达式笔记
  • 数据结构链表(C语言实现)
  • Springboot实现接口传输加解密
  • TypeScript类型系统:强类型的优势和使用方式
  • 有没有可以代替风铃系统的专业问卷工具?
  • 【数字调制】数字调制技术FSK与PSK分析与研究(Matlab代码实现)
  • html实现好看的个人介绍,个人主页模板4(附源码)
  • 内存不够用,那你的内存去哪了?
  • 哈希表--day4--(leetcode202/leetcode1/leetcode454)
  • 基于Python+Django+mysql+html通讯录管理系统
  • Rabbitmq学习
  • 初识轻量级分布式任务调度平台 xxl-job
  • web 语音通话 jssip
  • 随风摇曳的她——美蕨(matlab实现)
  • 时序数据库的流计算支持
  • springboot启动流程 (3) 自动装配
  • ansible-roles模块
  • 聊聊我做 NeRF-3D重建性能优化经历
  • 未磁科技全球首台64通道无液氦心磁图仪及首个培训基地落户北京安贞医院
  • SpringBoot 如何使用 ApplicationEventPublisher 发布事件
  • 【深度学习】2-3 神经网络-输出层设计
  • Python网络爬虫开发:使用PyQt5和WebKit构建可定制的爬虫
  • Laya3.0游戏框架搭建流程(随时更新)
  • .net 软件开发模式——三层架构
  • SpringBoot如何优雅的实现重试功能
  • 【CEEMDAN-VMD-GRU】完备集合经验模态分解-变分模态分解-门控循环单元预测研究(Python代码实现)
  • OpenText Exceed TurboX(ETX)—— 适用于 UNIX、Linux 和 Windows 的远程桌面解决方案
  • 【人工智能】— 逻辑回归分类、对数几率、决策边界、似然估计、梯度下降
  • k8s pod “cpu和内存“ 资源限制
  • datagrip 连接 phoenix