首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bottle + AngularJS - CORS拒绝工作

Bottle + AngularJS - CORS拒绝工作
EN

Stack Overflow用户
提问于 2014-06-25 03:27:22
回答 1查看 410关注 0票数 1
代码语言:javascript
复制
Code:

@route('/characteristicsToBestWeb', method='OPTIONS')
def respondToCharToBestQueryWebOptions():
    response.headers['Access-Control-Allow-Origin'] = settings.allowed_web_origin
    response.headers['Access-Control-Allow-Credentials'] = 'true'
    # response.headers['Access-Control-Allow-Origin'] = '*'
    response.headers['Access-Control-Allow-Methods'] = 'POST, OPTIONS'
    response.headers['Access-Control-Allow-Headers'] = 'Origin, Accept,' \
                                                       ' Content-Type,' \
                                                       ' Cache-Control,' \
                                                       ' Pragma,' \
                                                       ' X-Requested-With,' \
                                                       ' X-CSRF-Token'

@route('/characteristicsToBestWeb', method='POST')
def respondToCharToBestWebQuery():
    response.headers['Access-Control-Allow-Origin'] = settings.allowed_web_origin
    response.headers['Access-Control-Allow-Credentials'] = 'true'
    # response.headers['Access-Control-Allow-Origin'] = '*'
    response.headers['Access-Control-Allow-Methods'] = 'POST, OPTIONS'
    response.headers['Access-Control-Allow-Headers'] = 'Origin, Accept,' \
                                                       ' Content-Type,' \
                                                       ' Cache-Control,' \
                                                       ' Pragma,' \
                                                       ' X-Requested-With,' \
                                                       ' X-CSRF-Token'
    render_response()

正如您所看到的,我显式地指定了原点,但是在控制台中使用普通的$http服务和Restangular得到了以下错误。

关于post请求:

XMLHttpRequest无法加载http://vitamiter.com/characteristicsToBestWeb。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此不允许访问源'http://dev.vitapersonal.com:9000‘。

尽管OPTIONS请求返回得很好。

任何帮助都是非常感谢的。

编辑:与XMLHttpRequest配合使用很好:

代码语言:javascript
复制
    var req = new XMLHttpRequest();
    req.open("POST", API_ROOT + 'characteristicsToBest?cacheBuster=' + Math.random().toFixed(5) , true);
    req.setRequestHeader("Content-Type", "application/json");
    req.setRequestHeader("Cache-Control", "no-cache, must-revalidate");
    req.setRequestHeader("Pragma", "no-cache");
    req.onload = function(){
        var response = this.response;
        $scope.$apply(function(){
            console.log(response)
        })
    }
    req.send(JSON.stringify(reqData));

WT*-angular?

EN

回答 1

Stack Overflow用户

发布于 2015-01-06 00:22:58

试试这个:

代码语言:javascript
复制
@hook('after_request')
def enable_cors():
    response.headers['Access-Control-Allow-Origin'] = '*'
    response.headers['Access-Control-Allow-Methods'] = 'PUT, GET, POST, DELETE'
    response.headers['Access-Control-Allow-Headers'] = 'Origin, Accept, Content-Type, X-Requested-With, X-CSRF-Token'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24394713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档