我正在用ExtJS(客户机)和Flask开发一个RESTful应用程序:客户机和服务器通过协议连接。在
当我试图对服务器执行AJAX请求时,问题就出现了,如下所示:
Ext.Ajax.request ({
url: 'http://localhost:5000/user/update/' + userId ,
method: 'POST' ,
xmlData: xmlUser ,
disableCaching: false ,
headers: {
'Content-Type': 'application/xml'
} ,
success: function (res) {
// something here
} ,
failure: function (res) {
// something here
}
});
通过上述请求,客户端正在尝试更新用户信息。 不幸的是,这是一个跨域请求(details)。
服务器按如下方式处理该请求:
^{pr2}$我在浏览器控制台上看到的是一个OPTIONS
请求,而不是POST
。
然后,我试图在80端口上启动烧瓶应用程序,但显然不可能:
app.run (host="127.0.0.1", port=80)
总之,我不明白如果客户端不能执行任何AJAX请求,它如何与服务器交互。在
我怎样才能避开这个问题?在
模块Flask-CORS使跨域请求的执行变得非常简单:
另请参见:https://pypi.python.org/pypi/Flask-Cors
这是一个很好的装饰用烧瓶。在
http://flask.pocoo.org/snippets/56/
如果链接死了,给后人的代码是:
你可以通过使用CORS来解决这个问题
http://en.wikipedia.org/wiki/Cross-origin_resource_sharing
相关问题 更多 >
编程相关推荐