JavaScript 跨域
首先什么是跨域,简单地理解就是因为JavaScript同源策略的限制,a.com 域名下的js无法操作b.com或是c.a.com域名下的对象。更详细的说明可以看下表:
起因
WebStorm本地调试都是调用本地 localhost:63332的服务, 但是JavaScript需要调用10.170.0.1的接口, 由于是本地调试跨域导致获取不到接口数据。
因为刚搞H5, 与后台讨论之后, 决定用tomcat在本地搭建一个本地后台服务, 以配合前段跨域问题。原因是Chrome不能启动跨域命名。
最后Mac搭建好tomcat, 死活都不起war包的服务。于是我想再Mac上再试一试跨域的命名。最后发现如果跨域命令行少了--user-data-dir
导致跨域失败。
(Ps:chrome 48 命令行启动不支持设置跨域了,想要跨域,还需要需要在加上 -user-data-dir)
Mac Chrome正确的跨域打开方式
先关闭Chrome, 打开Terminal输入open -a "Google Chrome" --args --disable-web-security --user-data-dir
,等待Chrome上面显示下图, 然后在WebStorm里面启动调试。