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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • UDP协议功能

    UDP协议功能为了在给定的主机上能识别多个目的地址,同时允许多个应用程序在同一台主机上工作并能独立地进行数据报的发送和接收,设计用户数据报协议UDP。1、使用UDP协议包括:TFTP、SNMP、NFS、DNSUDP使用底层的互联网协议来传送报文,同IP一样提供不可靠的无连接数据报传输服务。它不提供报文到达确认、排序、及流量控制等功能。2、UDP的报报文格式每个UDP报文分UDP报头和UDP数据区两部分。…

    2022年5月27日
  • Git 常用命令

    Git 常用命令

    2021年9月17日
  • CMS-项目的技术架构

    CMS-项目的技术架构2项目的技术架构2.1技术架构学成在线采用当前流行的前后端分离架构开发,由用户层、UI层、微服务层、数据层等部分组成,为PC、App、H5等客户端用户提供服务。下图是系统的技术架构图:业务流程举例:用户可以通过pc、手机等客户端访问系统进行在线学习。系统应用CDN技术,对一些图片、CSS、视频等资源从CDN调度访问。所有的请求全部经过负载均衡器。对于PC、H5等客户端请求,…

    2022年6月4日
  • java冒泡排序

    java冒泡排序

    2021年7月15日
  • 基于内容的图像检索技(CBIR)术相术介绍

    基于内容的图像检索技(CBIR)术相术介绍本文主要简单的介绍了基于内容的图像检索(CBIR:Content-BasedImageRetrieval)的相关技术,其是指根据图像对象的内容及上下文信息在大规模多媒体数据中检索所需信息。基于内容的图像检索技术通过近几十年的发展已经取得了丰硕的成果,文中对对图像检索的相关内容进行简单的分析,并对与图像检索相关的资料进行了简单的整理和收集。

    2022年9月11日
  • 小白/新人学Python,用哪个编辑器?VSCode还是PyCharm?[通俗易懂]

    小白/新人学Python,用哪个编辑器?VSCode还是PyCharm?[通俗易懂]先说结论:优先选择PyCharm,不论你学习Python的目的是什么:数据科学/金融/爬虫/网页开发/…原因如下:超全Python编辑器大总结,优缺点一目了然!从功能上说,最全面的只有2个:VSCode和PyCharm,VSCode不适合小白的原因:需要单独配置Python和各种框架的开发环境,运行界面更加复杂PyCharm适合小白的原因:安装和配置简单,所有代码都可以一键运行,小白一看就会。PyCharm下载/安装/配置/使用:视频教程…

    2022年8月29日

发表回复

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

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