TL;对于管理员DR:不重复。我试图强制重定向从烧瓶后端用户完成使用瓶调查之后,但它不工作(尽管从我的理解,它应该 - 它在控制台上水平,但因为它没有表现,甚至,但浏览器不重新加载)。我不想在ajax上做这件事,现在我尽量保持最小化,调查正确地将“ajax POST”发送到“/ survey”,我现在想保持这种状态。此外,我想了解该瓶问题,而不是与其他解决方案替换它,我不完全理解尚未重定向完成了瓶的调查之后,用户无法正常工作
我想学习Web开发的一些基础知识,想做出一个有些有趣的Web应用程序使用Flask作为后端的服务。
我的调查项目的子网站看起来有点像这样:
@app.route("/survey", methods=["GET", "POST"])
@login_required
def survey():
if request.method == "GET":
return render_template("survey.html")
if request.method == "POST":
x = request.get_json(silent=True)
print(x)
//todo: manipulate on x and classify a user into a group
return redirect(url_for("index")) // just for now redirect everybody
我是一个完整的AJAX/JS新手,但我知道我的SurveyJS调查网站后位(“/调查”)的修改是将正确的JSON发送到后端(通过在完成调查后打印大量的x变量)。可悲的是,重定向不起作用,尽管服务器实际上试图做到这一点 - 我在控制台中拥有标准的200 OK代码,我总是获得其他补贴的重定向,但网站没有更改(不加载圈或任何东西)。完成后,我发布了POST ajax请求,调查网站给出了标准的SurveyJS空白网站,其中“感谢您完成调查!” (这不加载网页或任何东西)
控制台瓶提示:
INFO:werkzeug:127.0.0.1 - - [03/Jul/2017 20:06:44] "POST /survey HTTP/1.1" 302 -
INFO:werkzeug:127.0.0.1 - - [03/Jul/2017 20:06:45] "GET/HTTP/1.1" 200 -
我能做些什么以从该烧瓶水平使重定向工作?
非常感谢,它真的为我澄清了这个想法。我想我得到了我想要的效果。在我的sendDataToServey(survey)函数中,除了Ajax之外,我还包含'window.location.href =“/ **'**。这直接为我提供了我想要的重定向,并且POST在服务器端静静地执行了它的工作; –