admin管理员组文章数量:1538748
解决谷歌浏览器的跨域问题
- 问题提出
- 背景介绍
- 解决步骤
问题提出
跨域问题一般在浏览器中这样提示
Access to XMLHttpRequest at 'url1' from origin 'http://127.0.0.1:8686' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: The 'Access-Control-Allow-Origin' header has a value
背景介绍
1995年,同源政策由 Netscape 公司引入浏览器。目前,所有浏览器都实行这个政策。
最初,它的含义是指,A 网页设置的 Cookie,B 网页不能打开,除非这两个网页“同源”。所谓“同源”指的是“三个相同”:
- 协议相同
- 域名相同
- 端口相同
同源政策的目的,是为了保证用户信息的安全,防止恶意的网站窃取数据。
正式服务器因为部署原因,都是同源,也就不会出现跨域,实际开启跨域也需要后端来控制。
开发过程中服务端域名和客户端域名不一致会出现跨域。
现在浏览器主要使用CORS标准来实现跨域。
CORS 是一个 W3C 标准,全称是跨域资源共享(CORSs-origin resource sharing),它允许浏览器向跨源服务器,发出XMLHttpRequest请求。
其实,准确的来说,跨域机制是阻止了数据的跨域获取,不是阻止请求发送。
CORS需要浏览器和服务器同时支持。目前,所有浏览器都支持该功能,IE浏览器不能低于IE10。
因此,实现CORS通信的关键是服务器。只要服务器实现了CORS接口,就可以跨域通信。
解决步骤
- 创建文件夹 myChromeData(文件夹名称可随意配置)
- 创建一个shell脚本文件.sh格式。新增文件之后改后缀即可。可以使用任何编辑器打开。
- 把下面代码复制进去 (xxx 是自己用户名 切记要改;–user-data-dir= ‘第1步创建文件的本地路径’ )
open -n /Applications/Google\ Chrome.app/ --args --disable-web-security --user-data-dir=/Users/xxx/myChromeData
- 将写好的shell脚本拖入mac的终端,回车即可执行
- 出现下方文字提示即算成功
参考引用
[1]: 详解浏览器跨域的几种方法
版权声明:本文标题:Mac版chrome谷歌浏览器解决跨域,进行开发调试 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1726981958a1092896.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论