[英]Flask/Flask-CORS: CORS header ‘Access-Control-Allow-Origin’ missing
I'm trying to link a Flask backend , running locally on port 5000 with a Vue.js frontend , running locally on port 8080. 我正在尝试将在端口5000上本地运行的Flask后端与在端口8080上本地运行的Vue.js前端链接起来。
I'm able to successfully signup and login, but fail to submit an article in the app, with the following error in the browser console. 我能够成功注册和登录,但无法在应用程序中提交文章,并且在浏览器控制台中出现以下错误。
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost:5000/api/articles .
跨域请求被阻止:同源策略禁止读取位于http:// localhost:5000 / api / articles的远程资源。 (Reason: CORS header 'Access-Control-Allow-Origin' missing).
(原因:CORS标头“ Access-Control-Allow-Origin”缺失)。
The Flask backend uses Flask CORS (initializes them for every blueprint) and I've provided the localhost/127.0.0.1 origins to the whitelist. Flask后端使用Flask CORS(为每个蓝图初始化它们),并且我已将localhost / 127.0.0.1来源提供给白名单。
#settings.py
CORS_ORIGIN_WHITELIST = [
'http://0.0.0.0:4100',
'http://localhost:4100',
'http://0.0.0.0:8000',
'http://localhost:8000',
'http://0.0.0.0:4200',
'http://localhost:4200',
'http://0.0.0.0:4000',
'http://localhost:4000',
'http://localhost:8080',
'http://0.0.0.0:8080',
'http://127.0.0.1:8080',
'http://192.168.100.6:8080',
'localhost'
]
#app.py
def register_blueprints(app):
"""Register Flask blueprints."""
origins = app.config.get('CORS_ORIGIN_WHITELIST', '*')
cors.init_app(user.views.blueprint, origins=origins)
cors.init_app(profile.views.blueprint, origins=origins)
cors.init_app(articles.views.blueprint, origins=origins)
app.register_blueprint(user.views.blueprint)
app.register_blueprint(profile.views.blueprint)
app.register_blueprint(articles.views.blueprint)
#extensions.py
cors = CORS()
Any help would be greatly appreciated. 任何帮助将不胜感激。
Have you tried adding the port to the localhost
entry? 您是否尝试过将端口添加到
localhost
条目?
#settings.py
CORS_ORIGIN_WHITELIST = [
'http://0.0.0.0:4100',
'http://localhost:4100',
'http://0.0.0.0:8000',
'http://localhost:8000',
'http://0.0.0.0:4200',
'http://localhost:4200',
'http://0.0.0.0:4000',
'http://localhost:4000',
'http://localhost:8080',
'http://0.0.0.0:8080',
'http://127.0.0.1:8080',
'http://192.168.100.6:8080',
'localhost:8080'
]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.