我正在使用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
}
});
通过上述请求,客户端正在尝试更新用户信息。 不幸的是,这是一个跨域请求(详情)。
服务器按如下方式处理该请求:
@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 请求,我不明白客户端如何与服务器交互。
我怎样才能解决这个问题?