您能否告知我们如何配置我们在Google App Engine上托管的Python应用程序,以接受从浏览器完成AJAX的OPTIONS,GET,POST,PUT和DELETE?
此类调用的细节是XmlHTTPRequest首先向服务器请求OPTIONS请求以查看允许的跨域动词,如果需要,则列表中有一个 - 浏览器随后执行此请求。
现在我们只是尝试浏览器执行OPTIONS请求时获得405方法不允许。
AJAX调用正在从另一个站点/域完成。
谢谢,
罗马。
答案 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