配置谷歌应用程序引擎应用程序的跨域
问题描述:
您可以请指教,我们如何配置我们在Google App Engine上托管的Python应用程序接受来自浏览器的AJAX的OPTIONS,GET,POST,PUT和DELETE?配置谷歌应用程序引擎应用程序的跨域
这样的调用的细节是XmlHTTPRequest,首先请求服务器OPTIONS请求查看哪些跨域动词是允许的,如果需要的话可以在列表中找到 - 浏览器随后执行此请求。
现在我们刚刚得到一个405方法不允许试图浏览器做OPTIONS请求。
AJAX调用正在从另一个站点/域进行。
谢谢,
罗马。
答
一种绕过same-origin policy允许浏览器跨域请求的方式是采用JSONP但AFAIK,它只支持GET
动词;事实上,这是一个GET请求来检索<script>
标签在DOM文档
注入的src
如果JSONP是不是一种选择,一个更现代的方法是使用CORS,加入访问控制允许来源 HTTP标头到响应*:
在的Python:
self.response.headers['Access-Control-Allow-Origin'] = '*'
在爪哇:
resp.setHeader("Access-Control-Allow-Origin", "*");
*检查浏览器的兼容性here
您在使用Java或Python?什么框架? –