首页 > 解决方案 > 如何让第 3 方应用程序与烧瓶交互

问题描述

我有一个第 3 方 C# 应用程序,我想与我制作的烧瓶 webapp 进行交互。基本上,每次 C# 应用程序向 flask 发送 POST 请求时,flask 都会获取请求,进行一些更改,并刷新页面以更新更改。

但是,现在发生的事情是:Flask 获取请求,进行更改,将 HTML 代码返回到我的应用程序,并且不刷新页面。数据已更改,刷新页面后我可以看到它。但是我希望烧瓶在数据更改时刷新页面。

这是我的烧瓶代码:

@app.route('/stats/', methods=["POST", "GET"])
def display():
    global g_hours
    if request.method == "POST":
        g_hours = request.form["hours"]
        return redirect("/stats/")
    return render_template("statsOverview.html", hours=g_hours)

这是我的 C# 代码:

 var content = new FormUrlEncodedContent(values);
 var response = await client.PostAsync("http://127.0.0.1:5000/stats/", content);
 var responseString = await response.Content.ReadAsStringAsync();

现在,redirect() 将 HTML 代码返回到我的应用程序,而不是重定向到页面(刷新页面)。

标签: pythonc#flaskrequest

解决方案


尝试return redirect(url_for('display'))

@app.route('/stats/', methods=["POST", "GET"])
def display():
    global g_hours
    if request.method == "POST":
        g_hours = request.form["hours"]
        return redirect(url_for('display'))
    return render_template("statsOverview.html", hours=g_hours)

推荐阅读