出现问题
做前端的,用Ajax获取数据,是常有的事情,同域下自然没问题了,如果是不同域获取数据,浏览器就有个同源策略的限制。
如图所示:
XMLHttpRequest cannot load Origin * is not allowed by Access-Control-Allow-Origin
有人会说用JSONP了。如果后台的数据接口只是返回单纯的json数据呢,而且也不能修改符合JSONP的方式的数据形式。 这个时候,我们该怎么办呢? 如果你用的浏览器是Chrome的话,那么就有福音了。在打开Chrome的地址后边加上 --args --disable-web-security就可以屏蔽安全访问了[ --args:此参数可有可无],然后就随意的调用不同域下的数据了。
具体操作步骤如下: 系统下(Win7)
1.关闭所有打开的。 (重要的)。 不然就没有效果!
2.创建快捷方式,修改快捷方式的目标为:
"C:\Program Files\Google\Chrome\Application\chrome.exe" --args --disable-web-security
如图:创建的快捷方式
3.双击我们创建的快捷方式打开它。 如图chrome浏览器跨域怎么解决,谷歌浏览器安全浏览设置在哪里,“您正在使用不受支持的命令行标志:--web-。稳定性和安全性会降低”chrome浏览器跨域怎么解决,谷歌浏览器安全浏览设置在哪里,说明您已经取消了跨域限制,现在您可以自由跨域调用数据了。
如图:您正在使用不受支持的命令行标志:--web-。稳定性和安全性会降低
Mac os以下使用
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web-security
或者
open -a "Google Chrome" --args --disable-web-security
?Linux:
chromium-browser --disable-web-security
用命令行打开Apple的方法是:(Mac OS下)
open -a '/Applications/Safari.app' --args --disable-web-security