为跨域配置Google App引擎应用程序

时间:2011-07-11 16:59:49

标签: ajax google-app-engine cross-domain

您能否告知我们如何配置我们在Google App Engine上托管的Python应用程序,以接受从浏览器完成AJAX的OPTIONS,GET,POST,PUT和DELETE?

此类调用的细节是XmlHTTPRequest首先向服务器请求OPTIONS请求以查看允许的跨域动词,如果需要,则列表中有一个 - 浏览器随后执行此请求。

现在我们只是尝试浏览器执行OPTIONS请求时获得405方法不允许。

AJAX调用正在从另一个站点/域完成。

谢谢,

罗马。

1 个答案:

答案 0 :(得分:5)

绕过same-origin policy允许浏览器跨域请求的一种方法是采用JSONP但是AFAIK,它只支持GET动词;实际上,这是一个GET请求,用于检索DOM文档中注入的src标记的<script>

如果JSONP不是一个选项,更现代的方法是使用CORS,将 Access-Control-Allow-Origin Http标头添加到响应 *

Python 中:

self.response.headers['Access-Control-Allow-Origin'] = '*'

Java 中:

resp.setHeader("Access-Control-Allow-Origin", "*");

*检查浏览器兼容性here