Python Flask 报错The 'Access-Control-Allow-Origin' header contains multiple values

Flask 跨域设置 返回码大于400是报错The 'Access-Control-Allow-Origin' header contains multiple values

Flask 开启跨域设置很简单,只需要在app的初始化方法里写上一个after_request里面加上一些headers就可以了,但是如果我们在添加headers的时候使用了response.headers.add(),就会导致:返回码大于400是报错The 'Access-Control-Allow-Origin' header contains multiple values。这是因为使用了response.headers.add()会添加多个Access-Control-Allow-Origin的value,而通过response.headers['Access-Control-Allow-Origin']方式设置,则只会保留一个!

以下是参考代码:

@app.after_request
def after_request(response):
    response.headers.add('Access-Control-Allow-Headers', 'Content-Type,Authorization,session_id')
    response.headers.add('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS,HEAD')
    # 这里不能使用add方法,否则会出现 The 'Access-Control-Allow-Origin' header contains multiple values 的问题
    response.headers['Access-Control-Allow-Origin'] = '*'
    return response
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。