Flask 跨域設(shè)置 返回碼大于400是報錯The 'Access-Control-Allow-Origin' header contains multiple values
Flask 開啟跨域設(shè)置很簡單个初,只需要在app的初始化方法里寫上一個after_request里面加上一些headers就可以了,但是如果我們在添加headers的時候使用了response.headers.add()
,就會導(dǎo)致:返回碼大于400是報錯The 'Access-Control-Allow-Origin' header contains multiple values猴蹂。這是因為使用了response.headers.add()
會添加多個Access-Control-Allow-Origin
的value院溺,而通過response.headers['Access-Control-Allow-Origin']
方式設(shè)置,則只會保留一個磅轻!
以下是參考代碼:
@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方法珍逸,否則會出現(xiàn) The 'Access-Control-Allow-Origin' header contains multiple values 的問題
response.headers['Access-Control-Allow-Origin'] = '*'
return response