Mac版chrome谷歌浏览器解决跨域,进行开发调试

解决谷歌浏览器的跨域问题

问题提出

跨域问题一般在浏览器中这样提示
控制台错误提示

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接口,就可以跨域通信。

解决步骤

  1. 创建文件夹 myChromeData(文件夹名称可随意配置)
    文件命名示例
  2. 创建一个shell脚本文件.sh格式。新增文件之后改后缀即可。可以使用任何编辑器打开。
    执行文件示例
  3. 把下面代码复制进去 (xxx 是自己用户名 切记要改;–user-data-dir= ‘第1步创建文件的本地路径’ )
open -n /Applications/Google\ Chrome.app/ --args --disable-web-security  --user-data-dir=/Users/xxx/myChromeData
  1. 将写好的shell脚本拖入mac的终端,回车即可执行
    终端示例
  2. 出现下方文字提示即算成功
    谷歌跨域成功示例
    参考引用
    [1]: 详解浏览器跨域的几种方法
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值