vue之解决跨域问题[通俗易懂]

vue之解决跨域问题[通俗易懂]同源策略:http协议、主机名、端口号都要相同。因为浏览器同源策略的影响,向后端服务器请求数据的时候,不能进行访问。可以采用代理服务器的方式,代理服务器:浏览器向一个相同同源策略的g代理服务器上请求资源,因为服务器之间没有同源策略,代理服务器就去找后端服务器请求资源,在返回给浏览器解决方法一:在根目录下新建vue.config.js文件,这里是js文件哈。module.exports={ lintOnSave:false,//取消格式化 devServer:{ proxy:

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

、、、、、、、、、、、仅对以前所学做复习记录使用、、、、、、、、、

同源策略:http协议、主机名、端口号都要相同。

因为浏览器同源策略的影响,向后端服务器请求数据的时候,不能进行访问。
可以采用代理服务器的方式,代理服务器:
在这里插入图片描述
浏览器向一个相同同源策略的代理服务器上请求资源,因为服务器之间没有同源策略,代理服务器就去找后端服务器请求资源,在返回给浏览器

解决方法一:

在根目录下新建vue.config.js文件,这里是js文件哈。

module.exports = {
	lintOnSave:false, // 取消格式化
	
	devServer:{
		proxy:"http://houduanserver:5000" // 请求数据的地址
	}
}

在这里插入图片描述
这个请求的时候,会先到public文件夹下查找资源,如果有的话就返回public文件夹下资源,如果没有就请求代理服务器资源。
这种方法只能请求一种代理

解决方法二:

module.exports = {
	lintOnSave:false, // 取消格式化
	
	devServer:{
	   open:true,  // 当启动时自动打开浏览器
		proxy:{
			// 匹配以所有/api开头的请求路径,名字随意
			'/api':{
				target:"http://houduanserver:5000",// 请求服务器地址
				
				ws:true, // 用于支持websocket 默认true
				
				changeOrigin:true , // 默认true
				// 设置为true时,后端服务器收到的是host名为:houduanserver:5000
				// 设置为true时,后端服务器收到的是host名为:houduanserver:8080
				
				pathRewrite:{ '^/api':“” },
				// 当后端服务器中没有以/api开头的路径时,以空字符代替				
			},		

	'/api2':{
				target:"http://houduanserver:5001",// 请求地址
				
				ws:true, // 用于支持websocket 默认true
				
				changeOrigin:true , // 默认true
				// 设置为true时,后端服务器收到的是host名为:houduanserver:5000
				// 设置为false时,后端服务器收到的是host名为:houduanserver:8080
				
				pathRewrite:{'^/api2':' '},
				// 当后端服务器中没有以/api开头的路径时,以空字符代替				
			}
		}
	}
}

在这里插入图片描述
api意思是只要以/api开头的就直接请求代理服务器再到后端服务器。不像方法一中那样,去请求public文件夹,在去请求代理到后端服务器。

在这里插入图片描述
pathRewrite是当浏览器通过请求/api/data到代理服务器,代理服务器再去请求后端服务器,然而后端服务器没有/api/data路径,只有/data路径,所以找不到/api只好为空

这种方法可以请求多种代理

在用axios请求资源时,一定要加上/api

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/192540.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 蓝桥杯单片机的P2 = (P2 & 0x1f) | 0x80

    蓝桥杯单片机的P2 = (P2 & 0x1f) | 0x80蓝桥杯单片机的P2=(P2&0x1f)|0x80声明作者并不是一个老手,可能在某些专业词语描述上有错误,或者其他,如有错误,还请指正。背景自己之前在学习蓝桥杯单片机的时候,在学习锁存器控制IO口点亮流水灯led的时候,就看到了视频中的P2=(P2&0x1f)|0x80,但是当时视频的老师只是说你们自己理解一下,然后我找了找csdn,是没有找到的,所以决定写一下,其实是很简单的东西基础小知识1.二进制转换首先我们先说一下P2,想想看,刚开始的P2的各个引脚

    2022年9月12日
    3
  • linux tty_linux tty

    linux tty_linux ttyLinux中的tty与pts终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。tty是Teletype的缩写。 Teletype是最早出现的一种终端设备——可以称作电传打字机,由Teletype公司生产。tty在Linux系统的设备特殊文件目录/dev/下。终端特殊设备文件一般有以下几种:1、串行端口终端(/dev/ttySn)串行端口终端(Serial Port Terminal)是使用计算机串行端口连接的终端设备。计算机把每个串行端口都看作是一个字符设备。有段时间这

    2022年8月9日
    7
  • Error:SSL peer shut down incorrectly完美解决。

    Error:SSL peer shut down incorrectly完美解决。

    2021年10月1日
    834
  • Shiro 框架简单介绍

    Shiro 框架简单介绍Shiro 框架简单介绍

    2022年4月22日
    41
  • linux中zip文件解压命令,Linux中zip压缩和unzip解压缩命令使用方法

    linux中zip文件解压命令,Linux中zip压缩和unzip解压缩命令使用方法Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。在Linux中,我们可以利用命令进行文件压缩,即zip压缩和unzip解压缩,这篇文章主要介绍了详解Linux中zip压缩和unzip解压缩命令及使用详解,本文给大家介绍的非常详细,需要的朋友可以参考下下面给大家介绍下Linux中zip压缩和unzip解压缩命令详解1、把/home目录下面的mydata目录压缩为m…

    2022年6月7日
    58
  • knn算法实现手写数字识别的背景_knn手写数字识别60000训练集

    knn算法实现手写数字识别的背景_knn手写数字识别60000训练集KNN最邻近分类算法:(近邻取样)邻近算法,或者说K最近邻(kNN,k-NearestNeighbor)分类算法是机器学习分类技术中最简单的方法之一。所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表。属于监督学习,有类别标记,且KNN是惰性学习。叫做Memory-basedlearning、也叫instance-basedlearning.他…

    2022年9月14日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号