调试跨域接口

作者: 蘇上方 | 来源:发表于2017-04-24 16:22 被阅读125次

    问题来源

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

    备注

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

    相关文章

      网友评论

        本文标题:调试跨域接口

        本文链接:https://www.haomeiwen.com/subject/inspzttx.html