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在服務器端靜靜地執行了它的工作; –