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

2023/2/26 Vue学习笔记 配置代理解决跨域[CORS ]的问题

利用vue的脚手架巧妙的解决ajax跨域的问题

1 我们首先利用springboot服务搭建

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意这里引出了跨域[CORS ]的问题:

Access to XMLHttpRequest at 'http://localhost:5000/getUserInfo' from origin 'http://localhost:8080' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

请求http的同源策略:1 2 3 点必须保持一致。

http://localhost:5000/getUserInfo
1、协议名 http
2、主机名 localhost
3、端口号 5000

违背了同源策略就会造成跨域问题。这里引出了配置代理的解决方案:

2 配置代理服务器 - 借助vue cli 开启代理服务器

Vue CLI官网—配置参考—devServer.proxy:配置参考 | Vue CLI
在这里插入图片描述
如何开启代理服务器?借助vue cli 开启代理服务器:

如果你的前端应用和后端 API 服务器没有运行在同一个主机上,你需要在开发环境下将 API 请求代理到 API 服务器。这个问题可以通过 vue.config.js 中的 devServer.proxy 选项来配置。
devServer.proxy 可以是一个指向开发环境 API 服务器的字符串:

module.exports = {devServer: {proxy: 'http://localhost:4000'}
}

这会告诉开发服务器将任何未知请求 (没有匹配到静态文件的请求) 代理到http://localhost:4000。
在这里插入图片描述
在这里插入图片描述
但是如果我们在public文件夹中存在数据的话:
在这里插入图片描述
在这里插入图片描述
有一个请求顺序的问题:先找自己public文件夹的资源,如果没有在去服务器中查询。public文件夹就相当于8080服务器的根路径。public文件夹里有的东西都算是8080中有的。

<template><btn/>
</template><script>
import Btn from "@/components/Btn";export default {name: 'App',components: {Btn}
}
</script><style>
</style>
<template><div><button @click="get">请求数据</button></div>
</template><script>
import axios from 'axios'export default {name: `Btn`,methods: {get() {axios.get('http://localhost:8080/hello.txt').then(response => {console.log(response.data)},error => {console.log(error.message)})}}
}
</script><style>
</style>
const {defineConfig} = require('@vue/cli-service')
module.exports = defineConfig({transpileDependencies: true,lintOnSave: false, // 关闭语法检查devServer: {proxy: 'http://localhost:5000'}
})

但是,以上方式不够灵活的控制走不走代理服务器,且不能够配置多个代理。基于此提出了如下解决方案:

在这里插入图片描述
在这里插入图片描述
如上问题,pathRewrite: {'^/inspur': ''},
在这里插入图片描述
在这里插入图片描述
改变来源请求的服务http:

changeOrigin: true
/*** changeOrigin设置为true时,服务器收到的请求头中的host为:localhost:5000* changeOrigin设置为false时,服务器收到的请求头中的host为:localhost:8080* changeOrigin默认值为true*/

在这里插入图片描述
1.优点:可以配置多个代理,且可以灵活的控制请求是否走代理。
2.缺点:配置略微繁琐,请求资源时必须加前缀。

const {defineConfig} = require('@vue/cli-service')
module.exports = defineConfig({transpileDependencies: true,lintOnSave: false, // 关闭语法检查devServer: {proxy: {'/inspur': { // 请求前缀,若想走代理就在http加一个 /apitarget: 'http://localhost:5000',pathRewrite: {'^/inspur': ''},ws: true, // 用于支持websocketchangeOrigin: true/*** changeOrigin设置为true时,服务器收到的请求头中的host为:localhost:5000* changeOrigin设置为false时,服务器收到的请求头中的host为:localhost:8080* changeOrigin默认值为true*/}}}
})

相关文章:

2023/2/26 Vue学习笔记 配置代理解决跨域[CORS ]的问题

利用vue的脚手架巧妙的解决ajax跨域的问题 1 我们首先利用springboot服务搭建 注意这里引出了跨域[CORS ]的问题: Access to XMLHttpRequest at http://localhost:5000/getUserInfo from origin http://localhost:8080 has been blocked by CORS policy: No Access-Control-A…...

算法练习--深拷贝与浅拷贝

&#x1f380;个人主页&#xff1a;努力学习前端知识的小羊 感谢你们的支持&#xff1a;收藏&#x1f384; 点赞&#x1f36c; 加关注&#x1fa90; 文章目录算法地址算法题解分析深拷贝与浅拷贝在练习算法时&#xff0c;遇到了深拷贝与浅拷贝的问题&#xff0c;于是就了解了一…...

Wireshark “偷窥”浏览器与服务器三次握手

本文使用的是Wireshark 4.0.3, Java 11 编写简易服务器&#xff0c;客户端使用Chrome浏览器移动端开发或是前、后端开发又或是高大上的云计算都脱离不了网络&#xff0c;离开了网络的计算机就是一个孤岛&#xff0c;快速上手开发、背面试八股文固然有些急功近利&#xff0c;但确…...

基于stm32温湿度采集平台开发

基于stm32温湿度采集平台开发这里记录一下自己以前课设报告&#xff0c;但是论文中图片和文字、公式太多了&#xff0c;懒得粘贴了&#xff0c;需要完整的可q我963_160_156&#xff0c;也可在微信公众号 *高级嵌入式软件* 里回复 *温湿度* 查看完整版文章摘 要关键词第一章 绪论…...

单机模拟kafka分布式集群(演示生产、消费数据过程)

用单机搭建kafka伪分布式集群&#xff0c;其实集群的概念并不复杂 先说明一下&#xff0c;以下的每个服务启动后都需要新开一个终端来启动另外的服务(因为是集群&#xff0c;自然会用多个终端) 首先下载kafka 提取码&#xff1a;dvz4 或者直接去官网下载kafka_2.11-1.0.0.tgz t…...

办公室人员离岗识别检测系统 yolov7

办公室人员离岗识别检测系统根据yolov7网络模型深度学习技术&#xff0c;办公室人员离岗识别检测算法能够7*24小时全天候自动识别人员是否在岗位。YOLOv7 在 5 FPS 到 160 FPS 范围内&#xff0c;速度和精度都超过了所有已知的目标检测器&#xff0c;并在V100 上&#xff0c;30…...

Android从屏幕刷新到View的绘制(一)之 Window、WindowManager和WindowManagerService之间的关系

0. 相关分享 Android从屏幕刷新到View的绘制&#xff08;一&#xff09;之 Window、WindowManager和WindowManagerService之间的关系 Android从屏幕刷新到View的绘制&#xff08;二&#xff09;之Choreographer、Vsync与屏幕刷新 1. 相关类 WindowManagerService&#xff0c…...

#多源数据融合#:HSI与Lidar

Lidar数据与HSI数据融合应该注意的问题 融合激光雷达&#xff08;lidar&#xff09;数据和高光谱数据可以提高地物特征的识别和分类准确性。以下是一些融合这两种数据的注意事项&#xff1a; 数据预处理 由于激光雷达数据和高光谱数据的特点不同&#xff0c;需要对两种数据进…...

android 权限控制与进程隔离

每次介绍说是做系统安全的,面试和领导首先就是说配selinux,实在很无语。虽然权限控制是安全很重要一环。 linux的进程就是系统运行中的程序(process),是正在执行的一个程序或者命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。Linux环境下…...

链表(一):移除链表元素、设计链表等力扣经典链表题目

203.移除链表元素相关题目链接&#xff1a;力扣 - 移除链表元素题目重现给你一个链表的头节点 head 和一个整数 val &#xff0c;请你删除链表中所有满足 Node.val val 的节点&#xff0c;并返回 新的头节点 。思路链表的删除操作如上图所示&#xff0c;我们需要先找到要删除的…...

计算机网络 第4章 作业1

一、选择题 1. 由网络层负责差错控制与流量控制,使分组按序被递交的传输方式是_________&#xff08;C&#xff09; A&#xff0e;电路交换 B&#xff0e;报文交换 C&#xff0e;基于虚电路的分组交换 D&#xff0e;基于数据报的分组交换 2. TCP/IP 参考…...

Redis-Java代码使用示例

在我之前的项目中&#xff0c;使用Redis是我们团队自己封装了一个Redis操作类&#xff0c;但是这只是在Spring提供的RedisTemplate上做了一层封装而已&#xff0c;当时使用不是很熟练&#xff0c;都是一边在网上查资料&#xff0c;一边使用&#xff1b;这篇文章会介绍两种使用方…...

acwing3485最大异或和(trie树,贪心)

给定一个非负整数数列 a&#xff0c;初始长度为 N。 请在所有长度不超过 M 的连续子数组中&#xff0c;找出子数组异或和的最大值。 子数组的异或和即为子数组中所有元素按位异或得到的结果。 注意&#xff1a;子数组可以为空。 输入格式 第一行包含两个整数 N,M。 第二行…...

EasyRecovery16免费的电脑的数据恢复工具

常见的数据恢复有两种方式&#xff0c;第一种方式是找别人恢复&#xff0c;按照市场价来说&#xff0c;数据恢复的价格每次在100-500之间&#xff0c;但这种方式容易使自己设备上的隐私资料泄露出去&#xff0c;不安全。 另一种方式则是自己学会数据恢复的方法&#xff0c;有问…...

银行数字化转型导师坚鹏:平安银行数字化转型—橙E网战略研究

平安银行对公业务数字化转型案例—橙E网战略研究课程背景&#xff1a; 很多银行存在以下问题&#xff1a;不清楚银行对公业务数字化转型能否成功&#xff1f;不知道其它银行对公业务数字化转型的实际做法&#xff1f; 课程特色&#xff1a;用实战案例解读平安银行对公业务…...

tun驱动之open

tun驱动对应的设备文件是&#xff1a;/dev/net/tun&#xff0c;其详细信息如下&#xff1a; crw-rw-rw- 1 root root 10, 200 2月 26 08:05 tun 主次设备号的定义如下&#xff1a; #define MISC_MAJOR 10 #define TUN_MINOR 200 由于tun驱动属于misc设备驱动&#xff0c;因此用…...

计算机网络体系结构

计算机网络体系结构是指计算机网络中各个层次和功能组成的结构体系&#xff0c;它定义了计算机网络中各层次之间的协议和接口&#xff0c;以实现不同类型、不同规模、不同性能的计算机之间的互联和通信&#xff0c;同时提供各种网络服务和应用。计算机网络体系结构通常被分为多…...

基础夯实,字节内部总结240道算法LeetCode刷题笔记,直呼太全

1、什么是算法算法(algorithm&#xff0c;[ˈlɡərɪəm]&#xff0c;计算程序)&#xff1a;就是定义良好的计算过程&#xff0c;他取一个或一组的值为输入&#xff0c;并产生出一个或一组值作为输出。简单来说算法就是一系列的计算步骤&#xff0c;用来将输入数据转化成输出结…...

Three.js使用WebWorker进行八叉树碰撞检测

经过一番探索后还是采用了整个碰撞检测都交给worker来做 原因 如果是小的模型还是不需要这么做的 js线程足够处理构建时的开销 步骤 将需要被检测的物体集合转换成可以背worker接收的结构化数据发送给worker worker将结构化的数据转换成有效的Three元素集合并对其构建八叉树fr…...

【教程】Notion笔记多平台设置中文显示

这个笔记软件界面挺好看&#xff0c;惊艳到了。 目录 网页版 桌面端 Windows版 Mac端 安卓端 网页版 直接安装这个插件即可&#xff0c;Chrome/Edge适用&#xff1a;Notion中文版 桌面端 都要去这个github下载语言包&#xff0c;用于替换文件&#xff1a;https://github.c…...

[牛客Hot101]链表篇

文章目录1.翻转链表2.链表内指定区间翻转3. 链表中的节点每k个一组翻转4. 合并两个排序的链表5. 合并k个排序的链表6. 判断链表是否有环7. 链表中倒数第k个节点8. 删除链表中的倒数第k和节点9. 两个链表的第一个公共节点10.链表的入环节点11. 链表相加&#xff08;二&#xff0…...

Vue3 核心模块源码解析(上)

Vue3相比大家也都有所了解&#xff0c;即使暂时没有使用上&#xff0c;但肯定也学习过&#xff01;Vue3是使用TS进行重写&#xff0c;采用了MonoRepo的管理方式进行管理&#xff0c;本篇文章我们一起来看看 Vue3的使用&#xff0c;与Vue2有什么区别&#xff0c;以及我们该如何优…...

【C进阶】指针的高级话题

文章目录:star:1. 字符指针:star:2. 指针数组2.1 指针数组的定义2.2 指针数组的使用:star:3. 数组指针3.1 数组的地址3.2 数组指针的使用:star:4. 数组参数和指针参数:star:5. 函数指针5.1 函数名和函数的地址5.2 练习:star:6. 函数指针数组6.1 转移表:star:7. 指向函数指针数组…...

无源晶振匹配电容—计算方法

以前有写过一篇文章“晶振”简单介绍了晶振的一些简单参数&#xff0c;今天我们来说下无源晶振的匹配电容计算方法&#xff1a; 如上图&#xff0c;是常见的的无源晶振常见接法&#xff0c;而今天来说到就是这种常见电路的电容计算方法&#xff0c;有两种&#xff1a; A&#…...

【测试】自动化测试03(JUnit)

努力经营当下&#xff0c;直至未来明朗&#xff01; 文章目录JUnit一&#xff09; 注解1. Test2. BeforeEach3. BeforeAll4. AfterEach5. AfterAll二&#xff09; 断言&#xff08;Assertions类&#xff09;三&#xff09;用例的执行顺序四&#xff09;参数化五&#xff09;测试…...

《计算机视觉和图像处理简介 - 中英双语版》:神经网络中的激活函数 ReLU vs Sigmoid

文章大纲 Neural Network Module and Training Function创建数据集Define Neural Network, Criterion function, Optimizer and Train the ModelTest Sigmoid and ReluAnalyze Results参考文献与学习路径在本文中,我们使用含有两个隐藏层的神经网络基于MNIST数据集测试Sigmoid…...

(三十七)大白话SQL标准中对事务的4个隔离级别,都是如何规定的呢?

之前我们给大家讲了数据库中多个事务并发时可能产生的几种问题&#xff0c;包括了脏写、脏读、不可重复读、幻读&#xff0c;几种问题 那么针对这些多事务并发的问题&#xff0c;实际上SQL标准中就规定了事务的几种隔离级别&#xff0c;用来解决这些问题。 注意一下&#xff…...

全国计算机等级考试三级网络技术考试大纲(2022年版)

全国计算机等级考试三级网络技术考试大纲&#xff08;2022年版&#xff09;基本要求 &#xff11;&#xff0e; 了解大型网络系统规划、管理方法&#xff1b; &#xff12;&#xff0e; 具备中小型网络系统规划、设计的基本能力&#xff1b; &#xff13;&#xff0e; 掌握中小…...

服务器部署—若依【vue】如何部署到nginx里面?nginx刷新页面404怎么办?【完美解决建议收藏】

服务器部署项目我们大家都会遇到&#xff0c;但是有些铁子会遇到很多的问题&#xff0c;比如前端部署nginx如何操作&#xff1f; 前端有单纯的静态页面、还有前后端分离的项目&#xff1b;这里博主直接分享最牛最到位的前后端分离项目的前端部署到nginx上面&#xff0c;以若依项…...

算法练习(特辑)算法常用的数据结构、集合和方法总结

一、栈stack 1、初始化&#xff1a;Stack<Integer> st new Stack<Integer>(); 2、常用方法&#xff1a; boolean empty() &#xff1a;测试堆栈是否为空。Object peek( )&#xff1a;查看堆栈顶部的对象&#xff0c;但不从堆栈中移除它。Object pop( )&#xff…...

别人帮做的网站怎么修改病句/百度手机助手app下载官网

dns服务器 负责解析域名 将域名解析成IP地址。 顶级域名&#xff1a; com商业性网站、edu 教育网站、 cn中国的、 org组织、gov政府 二级域名 完全限定域名 www.91xueit.com ftp.91xueit.com mail.91xueit.com DNS域名解析 8.8.8.8谷歌 222.222.222.222电信 nsloo…...

网站改版 需求文档/网络营销模式有哪些

最近在知乎上看见有人设置了vscode编辑器的背景图片&#xff0c;觉得很新鲜&#xff0c;就尝试以一下&#xff0c;倒是成功了。首先在vscode扩展中&#xff0c;找到background这个插件&#xff0c;快捷键Ctrlshiftx (推荐学习&#xff1a;vscode入门教程)完成第一步就已经有默认…...

专业的网站制作团队/充电宝seo关键词优化

从应用程序的角度来看&#xff0c;线程安全问题的产生是由于多线程应用程序缺乏某种保障——线程同步机制。从广义上来说&#xff0c;Java平台提供的线程同步机制包括锁、volatile关键字、final关键字、static关键字以及一些相关的API&#xff0c;如Object.wait()/Object.nofit…...

重庆铜梁网站建设公司/百度网盘登陆入口

我在SLURM集群上预留了一些节点&#xff0c;并且希望在这些节点上运行一个python脚本。在一个节点(服务器)上&#xff0c;python脚本应该填充作业队列并将这些作业分发给客户端。大多数情况下&#xff0c;这种方式可以正常工作&#xff0c;但偶尔脚本会停下来。当使用Ctrl C时…...

廊坊模板网站建设/百度竞价推广出价技巧

本系统为牛旦教育IT课堂在微头条上发布的内容&#xff0c;为便于查阅&#xff0c;特辑录于此&#xff0c;都是常用SQL基本用法。前两篇连接&#xff1a;(一)&#xff1a;SQL点滴(查询篇)&#xff1a;数据库基础查询案例实战(二)&#xff1a;SQL点滴(排序篇)&#xff1a;数据常规…...

58同城网招聘找工作建筑工程/佛山seo外包平台

磁盘阵列df -h看文件系统使用率 : format看可用磁盘 : cfgadm -al看总线连接...