当JS回调函数触发时,Flask重定向不会在浏览器中发生



我有一个烧瓶应用程序,它有一个按钮的onClick回调,由javascript处理。JS函数调用flask应用程序的一个端点(在从DOM元素收集了请求所需的所有数据后(-它不绑定到表单。在flask端点内,它重定向到另一个页面。在"网络"选项卡中查看,由于重定向,对flask_endpoint的请求不会返回响应。请求的响应是Failed to load response data: No content available because the request was redirected。但是,在"网络"选项卡中,会创建一个重定向路由的单独请求,并且模板在该请求的响应中。但是,它不会将实际的浏览器路由重定向到该响应。有人能解释一下原因吗?

Javascript:

$('#add-button').click(callback)
async function callback(e) {
await axios.post(`/some_flask_endpoint`, {
...request_body...
});
}

烧瓶终点:

@app.route('/some_flask_endpoint', methods=["GET", "POST"])
def save_something():
# some logic...
return redirect('redirect_to_some_url')
  1. 很明显,您在端点上请求"some_flask_endpoint";但是您将请求重定向到"redirect_to_some_url">
  2. 您显示的JS似乎不会将浏览器重定向到新的端点

回到您的";问题";,如果您正在质疑Fail to load,它只是告诉您端点没有任何实际响应,因为它是一个重定向。如果你质疑重定向后浏览器中没有发生任何事情,那是因为js有责任处理响应。如果不重定向浏览器,浏览器将保持不变。

相关内容

最新更新