问题来源
- 由于受到浏览器同源策略限制,当我们使用ajax请求跨域接口的时候会出现以下告警
XMLHttpRequest cannot load [demo.com/a].
Origin [http://localhost](http://localhost/) is not allowed by Access-Control-Allow-Origin.
方法
- 通过参数配置浏览器支持跨域(只支持chrome , 但会降低浏览器安全性)
cd C:\Program Files (x86)\Google\Chrome\Application #chrome所在目录
c:
chrome.exe --disable-web-security --user-data-dir
- 使用
fiddler
拦截接口并修改请求头( 选择菜单 rules-customizeRules
)
static function OnBeforeResponse(oSession: Session) {
if(oSession.HostnameIs("i.flyme.cn")){ //修改跨域的域名
oSession["ui-color"] = "red";
oSession.oResponse["Access-Control-Allow-Origin"] = "*";
oSession.oResponse["Access-Control-Allow-Credentials"] = true;
}
}
http://www.jianshu.com/p/ee217e9405f2
备注
- 该教程只是方便前端调试跨域接口用,实际上与让接口支持跨域是两回事。
网友评论