调试跨域接口

问题来源

  • 由于受到浏览器同源策略限制,当我们使用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

备注

  • 该教程只是方便前端调试跨域接口用,实际上与让接口支持跨域是两回事。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容