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

Rom*_*an 4 ajax google-app-engine cross-domain

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

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

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

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

谢谢,

罗马.

sys*_*out 5

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

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

Python中:

self.response.headers['Access-Control-Allow-Origin'] = '*'
Run Code Online (Sandbox Code Playgroud)

Java中:

resp.setHeader("Access-Control-Allow-Origin", "*");
Run Code Online (Sandbox Code Playgroud)

*在此处检查浏览器兼容性