Flask不会在POST方法上重定向

时间:2017-01-18 20:38:12

标签: python http flask

那么, 我点击了一个带有post方法的按钮

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

还有烧瓶app,其中包含此代码

@app.route('/')
def index():
    return render_template("index.html")

@app.route('/test', methods=['POST'])
def test():
    return redirect(url_for('index'))

按下按钮时没有任何动静。我需要你的帮助。

1 个答案:

答案 0 :(得分:0)

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

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

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

https://api.jquery.com/jquery.post/

使用基于HTML的POST也可以做你想要的,但我确定你想学习如何用jquery做这件事。