proxy跨域不生效_前端开发:深入使用proxy代理解决跨域问题

在前端领域里面,跨域指的是浏览器允许向服务器发送跨域请求,进而克服Ajax只能同源使用的局限性限制。同源策略是一种约定,而且是浏览器中最基本也是最核心的安全功能,若缺少了该策略,浏览器非常容易被***;同源就是指“协议+域名+端口”都一样,就算有两个不同域名指向同一个IP地址也不能是同源。同源策略只有在浏览器中存在,服务器中确不存在,所以遇到需要跨域请求的地址将其转发服务器后委托服务器去请求即可。

一、实际开发中遇到的跨域问题解决方法

先来举一个简单的例子说明一下:

首先来看一下跨域引起的报错提示:

cd9c4b921022a8ac05ffe3e19a6a81cc.png

解决步骤:打开Vue项目,然后在项目中找到config文件夹里面的index.js文件,然后找到proxyTable,然后添加以下代码段即可:proxyTable: {

['/java/mgr-auth']: {  //替换代理地址名称

target: 'http://dev-cloud.bc.com/mgr-auth', //代理地址

changeOrigin: true, //可否跨域

pathRewrite: {

['^/java/mgr-auth']: '', //重写接口,去掉/java/mgr-auth

}

}

}

d7eb4ce66715be827b314613f3191b77.png

设置完毕之后,重启一下服务,根据实际情况重启项目: npm run serve或者是npm run dev。

aaed4cf26abcd00220f6197d19b0be3e.png

a53a5d368a4b69f032992a37cbfd71d6.png

重启项目之后,在接口封装和调用那里进行设置,最后就可以正常访问接口,跨域问题随之解决。

二、常见的跨域情形

常见的跨域情形通过URL链接来区分主要有6种:

①同域名,不同端口;②同域名,不同文件或者路径;③同域名,不同协议;④域名和域名对应相同的IP;⑤主域名相同,子域名不同;⑥不同域名。

三、跨域解决方法汇总

解决跨域问题,一般可以通过三种方式来解决:①前端项目配置代理;②服务端配置跨域访问;③使用Chrome的扩展插件。

1、前端项目配置代理的方法解决跨域问题

通过前端项目配置代理的方法解决跨域问题,具体步骤参考文章开头的案例来解决。

2、服务端配置跨域访问的方法解决跨域问题

这个需要在服务端进行配置,具体操作设计后台操作,这里不再具体讲解。

3、通过Chrome的扩展插件的方法解决跨域问题

搜索使用Allow CORS: Access-Control-Allow-Origin即可,如果不能正常搜到,请联系本作者来为你解答。

四、代理类型

常见的代理类型大概有四种:①基本代理;②重写路径代理;③支持HTTPS的代理;④把请求代理到同一目标的代理。

1、基本代理的实例module.exports = {

dev: {

proxy: {

'/api': 'http://localhost:8080’

}

}

};

2、重写路径代理的实例module.exports = {

dev: {

proxy: {

'/api': {

target: 'http://localhost:8080’,

pathRewrite: {'^/api' : ''}

}

}

}

};

3、支持HTTPS代理的实例module.exports = {

dev: {

proxy: {

'/api': {

target: 'https://dev-cloud.cc.com',

secure: false

}

}

}

};

4、请求代理到同一目标的代理的实例module.exports = {

dev: {

proxy: [{

context: ['/auth', '/api'],

target: 'http://localhost:8080’,

}]

}

};

以上就是本章全部内容,欢迎关注三掌柜的微信公众号“程序猿by三掌柜”,三掌柜的新浪微博“三掌柜666”,欢迎关注!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/334571.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql在计算机管理中的路径怎么修改_称重软件中的数据修改怎么知晓?

称重软件称重软件应客户需求,数据允许修改,但不允许删除只能作废。如果数据已修改,该如何知晓该数据是修改过的呢,这就用到了标记。用户修改数据时为保证数据的可追溯性,同样在数据安全方面也有相应的要求,…

popupwindow 不抢夺焦点_央视专访“上个厕所就要3000块”的亲历者, 被“坑”的不愉快经历...

资讯 聚焦 活动 宣传 推广 品牌 热文 找小编合作加个人微信2871001801百度百科:宁河于雍正九年(1731年)从宝坻县分出,据《河北省县名考原》称:“蓟运河纵贯县境,时多水患,故县以宁河名”!当然还有另外别的解释!民国三年(1914年)属直隶省津海道,民国十七年(1928年…

小程序搜索框_微信小程序搜索及优化相关知识科普

生活中我们常常会用到微信小程序,但很多人不知道该如何搜索、找到小程序;而有些已经做了自己的小程序的商家,也不懂怎么提升自己的微信小程序搜索效果。所以下面就跟大家科普下这两个问题。1.怎么搜索微信小程序打开微信,点击右上…

su联合推拉插件_[实习小记一一SU建模]

鉴于本菜鸡在实习阶段一直在SU建模,那就讲讲我在SU建模的心路历程吧。本菜鸡之前还是SU小白时(俗称白斩鸡,并且现在也很白),只会死命地用推拉。来到公司初探SU,第一个高层建筑便花费我半个月的时间(我突然想起有一篇日记特别好笑我是个SU人&a…

纹理和基元_通过粘性仙人掌基元进行延迟加载和缓存

纹理和基元您显然知道什么是延迟加载 ,对吗? 而且您无疑知道缓存 。 据我所知,Java中没有一种优雅的方法来实现它们中的任何一个。 这是我在Cactoos原语的帮助下为自己找到的。 Matteo Garrone的《 Reality》(2012年)…

oracle 造数据脚本_Oracle数据库shell脚本--统计所有数据库用户信息及明细

概述今天主要分享一下两个shell脚本,主要是为了查看所有数据库用户及其表空间,统计某个指定用户的明细,下面一起来看看吧~数据库连接脚本use script settdb.sh for DB login details registry#!/bin/bashtmp_username$SH_USERNAMEtmp_passwor…

学维修电脑要多久_学厨师要多久才出师

学厨师一般要学多久?以苏州新东方学厨师为例:厨师培训可以分为长期、短期。中餐、西餐、西点长期专业学习时间1-3年不等;短期专业从7天到8个月不等,主要是按学习内容来划分,比如学苏式汤面,只需要半个月左右…

docker 打包mysql_基于docker部署mysql的数据持久化问题

本人最近在使用docker部署mysql时,在持久化mysql数据时遇到了一个有趣的问题,将排查过程及思考记录在这里,以备后查。先简单描述下我遇到的问题:在mysql容器中创建了两个数据库,然后使用docker commit想要保存容器的修…

Linux 命令之 ls -- 列出指定目录下的内容

文章目录一、命令介绍二、语法格式三、常用选项四、参考示例(一)显示工作目录下(当前目录)所有的文件和目录(二)显示工作目录下所有的文件和目录(三)显示文件的详细信息,…

cad调了比例因子没反应_「室内设计」大神们都在用的9个CAD制图技巧,你会用几个?...

1、快捷特性面板如何调取?2、 如何快速恢复上一次删除物体?3、 如何快速关闭监视注释器?4、如何快速处理重复碎线?5、如何解决虚线在模型空间和布局空间显示不一致的问题?6、 如何快速更改图块名称?7、 PL线…

jax-rs jax-ws_迟来总比没有好:SSE或服务器发送的事件现在已在JAX-RS中

jax-rs jax-ws服务器发送的事件 (或简称为SSE )是非常有用的协议,它允许服务器通过HTTP将数据推送到客户端。 这是我们的Web浏览器支持的年龄,但是令人惊讶的是, JAX-RS规范在很长一段时间内都忽略了这一点。 尽管Jers…

根据录入的计算公式计算_小规模纳税人增值税计算公式是什么,什么人能被称为小规模纳税人?- 理财技巧...

摘要: 想必大家都知道小规模纳税人在增值税的缴纳上能够享受到不少的优惠措施和政策,最终可以少交不少钱!那么什么人能被称为小规模纳税人呢?小规模纳税人增值税计算公式又是什么呢?下面赢家财富网就带大家详细了解一下…

12章总结

一.集合类概述 java.util包中提供了一些集合类,这些集合类又被称为容器。 集合类与数组的不同之处: 数组的长度是固定的,集合的长度是可变的:数组用来存放基本类型的数据,集合用来存放对象的引用。 常…

怎么知道跟交换机互联的交换机_怎么选择POE交换机

工作的呢?48V供电的就是标准PoE吗?下面我们简单讲解一下标准PoE和MCU PoE交换机(单片机)及非标PoE设备是怎么工作的。标准PoE和MCU PoE交换机(单片机)以及非标准PoE产品定义首先我们来看一下什么是标准PoE、…

在excel中如何筛选重复数据_Excel中12招筛选使用大全,小白也能秒变高手

【温馨提示】亲爱的朋友,阅读之前请您点击【关注】,您的支持将是我最大的动力!在日常使用Excel处理数据时,相信小伙伴们对于筛选功能已经是不陌生了,Excel筛选功能可以快速有效的帮助我们处理大量的数据,将…

cli命令行界面 demo_Java命令行界面(第24部分):MarkUtils-CLI

cli命令行界面 demo本系列的第一篇 有关使用Java解析命令行参数的文章介绍了Apache Commons CLI库。 这是本系列中介绍的基于Java的命令行解析库中最古老的,而且可能是最常用的之一。 Apache Commons CLI确实显示了它的时代,特别是与一些更现代的基于Jav…

python打包成exe_【Python基础】一篇文件教你py文件打包成exe

场景:如果要将我们编写好的代码给别人使用,如果要他们直接使用我们的代码,就需要安装各种编译软件以及第三方模块,还要对软件操作,编程有一定的了解,这对使用者的要求比较高,不是很方便,为了解决这一问题,我们可以选择将我们编写的代码,编译成一个可执行文件,这样,就可以实现跨…

cad图标注释大全_CAD源泉插件快捷键使用教程(全集)

点击直达全集教程地址​www.bilibili.com此插件和海龙工具箱功能相似!不建议同时安装,快捷命令冲突。插件工具箱 图文介绍平面空间布置 jj这个命令把我们常规用到的家装空间都已经用上了,除了切换不同空间布置格局,而且图块的样式…

苹果录屏功能没有声音_其实苹果手机也有录屏功能!简单操作几步,就能轻松开启...

现在手机中的娱乐方式越来越多了,大家遇到有趣的事情就想分享给朋友,但是一些视频不能直接分享链接,还是挺麻烦的。不过我们可以通过录屏的方式来进行分享的,其实苹果手机就自带录屏工具,简单操作几步,就能…

natty的异步通信框架_OpenHub框架进行的异步通信

natty的异步通信框架在本系列的前一部分中,我们介绍了OpenHub框架 。 这部分显示了框架最强大的功能之一- 异步消息传递模型 。 当源系统无法等待目标系统的响应时,将使用系统之间的异步通信。 有以下几个原因: 源系统必须尽可能地响应 &am…