Python 烧瓶不';t在POST方法上重定向

Python 烧瓶不';t在POST方法上重定向,python,http,flask,Python,Http,Flask,那么, 我有一个按钮,点击后的方法 <button class="btn btn-lg btn-primary btn-block" onclick="$.post('/test',{'test':'tset'})">Home</button> 按下按钮时什么也没发生。我需要您的帮助。这是因为您使用AJAX/jquery发出请求。服务器端重定向永远不会工作 最好的解决方案是只设置客户端回调函数: $.post('/test', {'test':'test'}, func

那么, 我有一个按钮,点击后的方法

<button class="btn btn-lg btn-primary btn-block" onclick="$.post('/test',{'test':'tset'})">Home</button>

按下按钮时什么也没发生。我需要您的帮助。

这是因为您使用AJAX/jquery发出请求。服务器端重定向永远不会工作

最好的解决方案是只设置客户端回调函数:

$.post('/test', {'test':'test'}, function(data){
    window.location = data.redirect;
});


使用基于HTML的帖子也可以做你想做的事情,但我确信你想学习如何使用jquery是有原因的。

onclick帖子真的会启动吗?检查您的网络登录开发者工具,了解post请求发生了什么。@davidcako是的,如果我在app.py中添加打印(“post”),它会工作,可能是因为post?我不知道如何修复它。Get方法很好用。它重定向。但我需要发布登录表单中的数据。谢谢,我会试试的。这肯定行。我还有一个问题。当我再次重定向到登录页面以防登录/通过错误时,会有一个带有重定向的get after post请求。如果我想显示一些关于错误的信息呢。我不能在回调函数中这样做,因为它将在一秒钟内显示,直到get请求。然后我有了一个清晰的登录页面。你通常会有一个使用基于HTML表单的帖子的登录页面。但是,如果有必要使用AJAX来实现类似的功能,您可以随时使用回调函数获取它接收到的响应数据(这是
函数(data)
中的“data”参数),并决定是对您大喊大叫,还是将您重定向到实际登录状态。响应仍将包含
data.redirect
字段(尽管浏览器没有遵循该字段),因此如果需要保留重定向服务器端,您仍然可以动态使用该值,即
window.location=data.redirect
$.post('/test', {'test':'test'}, function(data){
    window.location = data.redirect;
});