【发布时间】:2012-09-28 22:22:33
【问题描述】:
我正在使用 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)。
服务器按如下方式处理该请求:
@app.route ("/user/update/<user_id>", methods=['GET', 'POST'])
def user_update (user_id):
return user_id
我在浏览器控制台上看到的是OPTIONS 请求,而不是POST。
然后,我尝试在 80 端口上启动 Flask 应用程序,但显然是不可能的:
app.run (host="127.0.0.1", port=80)
总之,如果客户端不能执行任何 AJAX 请求,我不明白客户端如何与服务器交互。
我怎样才能解决这个问题?
【问题讨论】:
标签: javascript python ajax extjs flask