大家好,开发人员和数据科学家。我有一个关于从部署在Heroku上的javascript应用程序访问部署在google应用程序引擎上的API的问题的问题。
当我在google chrome上访问我的API链接时,它工作正常。然而,当我使用部署在Heroku上的javascript应用程序调用我的API链接时,它有时无法工作,并返回给我网络错误。CORS error
我按照"https://cloud.google.com/appengine/docs/standard/python3/config/appref“上的说明在谷歌应用程序引擎的app.ymal文件中启用了我的应用程序API上的CORS访问,如下所示
运行时: python37instance_class: F4_1Ghandlers:- url: /images static_dir:静态/图像http_headers:访问控制-允许-来源:‘*’
类似地,我还在部署在Heroku上的javascript应用程序(React)上启用了CORS访问,如附件中的图片所示。CORS enabled on Heroku然而,这个问题仍然存在。我不确定这是与我们设置代码的方式有关,还是与google应用程序引擎服务器本身有关。如果除了我所做的之外,还有什么我能做的,我也很乐意听到。非常感谢!
发布于 2020-05-12 09:43:24
google cloud文档(CORS Support)上列出的说明仅适用于静态资产(如图像)。但是,如果要调用API (由Python脚本等动态页面组成),则必须在Python端进行配置,方法是从脚本中发送适当的标头。下面是一个如何使用名为Flask-CORS的Flask扩展来完成此操作的示例
from flask import Flask
from flask_cors import CORS
app = Flask(__name__)
cors = CORS(app, resources={r"/api/*": {"origins": "*"}})
@app.route("/api/v1/users")
def list_users():
return "user example"在您自己的脚本上实现它的方法实际上取决于您的实现。
https://stackoverflow.com/questions/61731754
复制相似问题