Google Cloud Endpoints v2启用了CORS

时间:2016-10-10 14:43:21

标签: google-app-engine google-cloud-endpoints

我正在尝试支持使用Python中的Google Cloud Endpoints Framework v2编写的API上的跨源资源共享(CORS)调用,但我无法做到。

根据the documentation,默认情况下启用CORS,但我无法使用Javascript从其他来源进行任何调用,我明白了:

  

XMLHttpRequest无法加载https://myapp.appspot.com/_ah/api/apiname/v1/events。对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许原点“http://fiddle.jshell.net”访问。响应的HTTP状态代码为500。

我尝试添加了像this SO question这样的响应。但它也不起作用。

有谁知道如何在我的API中启用CORS?

谢谢!

1 个答案:

答案 0 :(得分:1)

您发布的SO链接提到服务器需要发送CORS标头。

您必须发送http标头:“Access-Control-Allow-Origin”,其值为“*”或“您的客户端域名”。

您可以从作为Google Cloud Endpoint一部分的可扩展服务代理(ESP)发送此标头,也可以从服务器端api脚本发送http标头。

我建议从网络服务器发送标题,因为ESP可以缓存api响应。