问题描述
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' })