我的HTML模板中有一个JS功能,它被分配给按钮。当用户点击按钮时,我向我的Flask应用程序发送POST
请求,该应用程序应重定向到另一个页面。我的问题是重定向不会产生真正的重定向,我的意思是我的浏览器没有加载下一页,而在控制台中我可以看到网络选项卡上的301
重定向。
根据浏览器的网络选项卡,重定向有效,但我的浏览器没有加载目标网址。这就是我使用Flask管理重定向的方法:
@app.route("/signup/", methods = ['GET', 'POST'])
def signup():
if request.method == 'POST':
session['usess'] = request.json['usess']
#return redirect(url_for('index'))
return redirect("/", code=301)
if session:
return redirect("/", code=301)
else:
return render_template("signup.html")
# already tried simply
# return render_template("signup.html")
这就是我的Flask应用程序日志中发生的情况:
127.0.0.1 - - [20/Dec/2017 15:01:33] "POST /signup/ HTTP/1.1" 301 -
127.0.0.1 - - [20/Dec/2017 15:01:33] "GET / HTTP/1.1" 200 -
基于这些日志,它可以正常工作,但我的浏览器不想加载'/'
页面。
这是负责会话对象的函数。整个过程从这里开始:
btnSignUp.addEventListener('click', e => {
// ....
$.ajax({
type: "POST",
contentType: "application/json",
url: "/signup/",
data: JSON.stringify({usess: 'session_str'})
});
});
由于日志显示正确的请求,我不知道可能是什么问题。我希望有经验的人可以告诉我应该改变或尝试什么。