尽管设置了标头,但 Flask 仍然出现 CORS 错误

问题描述

我有一个包含以下内容的 Flask 应用程序:

app = Flask(__name__)
cors = CORS(app,resources={r"/api/*": {"origins": "*"}})

@app.after_request
def add_headers(response):
    response.headers['Access-Control-Allow-Origin'] = '*'
    response.headers['Access-Control-Allow-Headers'] =  "Content-Type,Access-Control-Allow-Headers,Authorization,X-Requested-With"
    response.headers['Access-Control-Allow-Methods']=  "POST,GET,PUT,DELETE,OPTIONS"
    return response

# some stuff

if __name__ == "__main__":
    app.run(host="0.0.0.0",port=5000)

但我仍然在浏览器中收到 CORS 错误。我正在 Gitpod 上运行该应用程序。如果我将端口设置为 public 它工作正常,但我不应该有一个公开可用的 API 端点来让它在同一台服务器上工作。

解决方法

如果使用javascript fetch,fetch默认不包含凭证,你应该做fetch("<Your URL>",{ credentials: 'include' })

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...