google-app-engine - 添加 self.response.headers['Access-Control-Allow-Origin'] = '*' 不会做任何事情。webapp2
问题描述
这是我的主页功能:
class Home(webapp2.RequestHandler):
def get(self):
self.response.headers.add_header('Access-Control-Allow-Origin', '*')
self.response.headers.add_header('Access-Control-Allow-Headers', 'Authorization')
self.response.headers.add_header('Access-Control-Allow-Methods', 'POST, GET, PUT, DELETE')
homepage = the_jinja_env.get_template('/template/mosaic.html')
self.response.write(homepage.render({"data":getData()}))
应用程序.yaml
- url: .*
script: main.app
这是我得到的错误:
Access to image at 'https://storage.googleapis.com/mosaictestlayer1/1' from origin 'http://fortest099.appspot.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
如果它对我有更多帮助,这里是网站:http: //fortest099.appspot.com/
解决方案
在 App Engine 响应上启用 CORS 的正确方法是在 app.yaml 中的“处理程序”元素下定义标头。请参阅文档示例:
handlers:
- url: /images
static_dir: static/images
http_headers:
Access-Control-Allow-Origin: http://mygame.appspot.com
如果您要从 Cloud Storage XML API 检索图像,则必须在存储桶级别启用 CORS。
推荐阅读
- javascript - 如何将数组拆分为多个数组?
- python - 我可以得到flask_ngrok或py-ngrok生成的ip地址或域名并返回到127.0.0.1/
- laravel - Laravel 黄昏与 browserstack 在多个设备和浏览器上运行测试
- ruby-on-rails - '当前页面?' 不适用于应用程序布局
- python - 如何使用按钮命令删除 Tkinter 标签?
- php - 链接到自定义存档页面链接到页面模板
- javascript - 拒绝为 Redocly 执行内联脚本
- git - 'git pull origin develop --rebase' 和 'git pull --rebase origin develop' 之间的区别
- integration-testing - 创建赛普拉斯报告时禁用屏幕截图生成
- rust - 如果 Drop 出现恐慌,我可以(并且应该)做什么?无论如何我可以释放其他资源吗?