当前位置: 首页 > Web前端 > HTML

跨域?只需安装一个插件!

时间:2023-03-29 12:41:38 HTML

浏览器为了安全引入了同源策略,如果默认前后端域名不同,直接导致功能受限。随着前后端分离的发展,前后端职责分离,前端会有专门的本地开发服务器(localdevserver)进行本地开发。这个时候和后台接口联调就很可能会遇到跨域安全问题。这本身是浏览器的安全策略,但是对前端开发是有影响的。如何解决?我以前的解决方案是通过本地代理(节点或nginx等服务)。基本思路是在请求响应头中加入大致如下内容:X-PINGOTHER,Content-TypeAccess-Control-Max-Age:86400后来用了一个比较方便的工具:浏览器扩展。在那之后,跨域问题就可以永远消失了。一开始我用了一个插件,专门给请求添加跨域头AllowCORS:Access-Control-Allow-Origin,地址:https://chrome.google.com/web...。这个插件使用起来非常简单,只需点击一下就可以切换开关状态。开启时会自动在请求头中添加跨域功能,关闭时相当于禁用插件。后来发现这个插件有些header是不会加的,比如access-control-expose-headers。所以需要一个通用的在请求中添加头信息的插件。所以我选择了请求。美中不足的是每条规则只能免费改一个header。但好消息是你可以创建多个规则,你可以通过更改每个规则中的标题来白嫖。地址:https://app.requestly.iorequestly不仅可以添加跨域请求头,理论上还可以任意修改请求和响应。因此,可以将其作为mock,统一添加参数等。基于此,使用浏览器扩展可以彻底解决前端在本地开发时遇到的跨域问题。