如何在Google App Engine Python服务器上启用CORS?
我在Javascript控制台上看到以下错误:如何在Google App Engine Python服务器上启用CORS?,python,google-app-engine,cors,Python,Google App Engine,Cors,我在Javascript控制台上看到以下错误: VM31:1 XMLHttpRequest cannot load '<some-url>'. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin '<my-url>' is therefore not allowed access. VM31:1 XMLHttpRequest无法加载“”。请求的资源上不存
VM31:1 XMLHttpRequest cannot load '<some-url>'. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin '<my-url>' is therefore not allowed access.
VM31:1 XMLHttpRequest无法加载“”。请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“”。
如何启用与Google App Engine(Python)的跨源资源共享以访问?您必须在yaml配置中使用
访问控制允许源
http头
handlers:
- url: /
...
http_headers:
Access-Control-Allow-Origin: http://my-url
在中的CORS支持下找到更多有关python脚本的信息,您可以在其他self.response.header行附近添加以下行
self.response.headers['Access-Control-Allow-Origin'] = '*'
这对我有用。这个想法来源于另一个答案的注释中列出的一个php问题。对于那些想知道如何基本上允许Springboot中AppEngine实例的所有源代码的人:
- 在项目拥有的
类上使用@RestController
注释@CrossOrigin(origins=“*”)
- 或者对任何具有
@GetMapping、@PostMapping等注释之一的特定资源方法使用上述注释
。。。
...
...
@SpringBoot应用程序
@RestController
@CrossOrigin(origins=“*”)//是一个静态文件,还是您正在使用python代码处理的文件?Jeffery的回答涵盖了第一种情况……对整个应用程序进行测试怎么样?静态模式下应该提供什么_dir@anshulix我不确定我是否明白你的要求。想详细说明吗?@JeffreyGodwyll我也有同样的问题。我正在尝试为脚本添加http_标头,但出现错误:google.appengine.api.yaml_errors.EventError:映射类型脚本的意外属性“http_标头”。脚本处理程序故意不允许使用此属性(http_标头
)。这里有一个PHP的解决方法:也是response=flask.jsonify({'status':'UP!'})response.headers.add('Access-Control-Allow-Origin','*')