能否请您指教,我们如何配置托管在 Google App Engine 上的 Python 应用程序,以接受从浏览器完成的来自 AJAX 的 OPTIONS、GET、POST、PUT 和 DELETE?
此类调用的细节是 XmlHTTPRequest 首先向服务器发出 OPTIONS 请求,以查看允许哪些跨域动词,如果需要,列表中有一个 - 浏览器随后执行此请求。
现在我们只收到 405 Method Not Allowed 尝试浏览器执行 OPTIONS 请求。
AJAX 调用是从另一个站点/域完成的。
谢谢,
罗马语。
最佳答案
一种绕过 same-origin policy 的方法允许浏览器跨域请求采用 JSONP但是 AFAIK,它只支持 GET
动词;事实上,这是一个获取 src
的 GET 请求。的 <script>
在 DOM 文档中注入(inject)标签
如果 JSONP 不是一个选项,更现代的方法是使用 CORS ,将 Access-Control-Allow-Origin Http header 添加到响应 *:
在 Python 中:
self.response.headers['Access-Control-Allow-Origin'] = '*'
在 Java 中:
resp.setHeader("Access-Control-Allow-Origin", "*");
* 检查浏览器兼容性 here
关于ajax - 为跨域配置google app engine应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6653701/