在 Flask 500 错误中获取 CORS 标头

Posted

技术标签:

【中文标题】在 Flask 500 错误中获取 CORS 标头【英文标题】:Getting CORS headers in a Flask 500 error 【发布时间】:2015-07-01 17:51:46 【问题描述】:

我有一个像这样设置的 Flask 应用程序

from flask import Flask
from flask.ext.cors import CORS

app = Flask( . . . )
app.debug = True

CORS(app, allow_headers='Content-Type')

CORS 对正确完成的路由正常工作。但是,如果引发异常,则会生成不带 CORS 标头的调试输出。这意味着我看不到 chrome 中的调试输出。我可以解决这个问题吗?

【问题讨论】:

【参考方案1】:

问题与设置调试模式有关。您可以在 GitHub issue 中看到有关此的讨论。

有两种方法可以解决这个问题。最简单的方法是将PROPAGATE_EXCEPTIONS 配置参数设置为False,但这会剥夺您的调试模式堆栈跟踪页面:

app.config['PROPAGATE_EXCEPTIONS'] = False

第二种方法是编写您自己的异常处理程序。我自己没有尝试过,但flask source 可以为您提供指导。

【讨论】:

以上是关于在 Flask 500 错误中获取 CORS 标头的主要内容,如果未能解决你的问题,请参考以下文章

添加 JWT 授权标头后,CORS 无法工作

由于不允许的预检标头,Vue.js 前端与 Flask 后端 CORS 问题交互

将 no-cors 包含在标头中以获取 react.js 中的 json 内容时出现奇怪的错误

axios 授权标头/CORS 错误

如何使用 Flask-Restless 启用 CORS

React/Axios API 获取请求问题(CORS 和内部服务器错误 500)