调试跨域接口

问题来源

  • 由于受到浏览器同源策略限制,当我们使用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;
    }
}
  • 使用nodejs搭建本地服务并对接口进行转发
http://www.jianshu.com/p/ee217e9405f2

备注

  • 该教程只是方便前端调试跨域接口用,实际上与让接口支持跨域是两回事。

你可能感兴趣的:(调试跨域接口)