在没有会话的情况下在 html 页面之间来回发送“参数”的最佳方式是什么?

问题描述 投票:0回答:1

为了解释我的要求,让我解释一下情况:

我有一个网页,a.html,在其中显示数据库的内容。为此,我有一条路线 /view_a 对数据库执行查询,类似于“select ... where id_table = ...”。 现在,我第一次调用 /view_a 时,是通过表单发布来实现的,其中 id_table 是 request.form 中的变量之一,但我还想让用户修改我正在显示的内容。这意味着,在 a.html 上,另一个表单内有一个“更新”按钮,该按钮应通过特定路径 /update_a 更新数据库。我的问题是我如何才能访问上述路由中的“id_table”。

我想出了两种解决方案,但似乎都不是最佳的:

  1. 在“/view_a”内部,我还在会话中添加了一个存储 id 的值,例如“session[”current_table”]”等于“id_table”。这里的问题是,用户可以请求在不同的 Web 选项卡中同时查看多个表,基本上 current_table 会被覆盖。将其设为列表也不是一种解决方案,因为我如何知道哪个索引是我想要的索引?
  2. 我将“id_table”附加到“更新”按钮的值。它有效,但看起来像是一个“补丁”,而不是一个正确的通用解决方案

有办法实现我想要的吗?

python html sql sqlite flask
1个回答
0
投票

您可以将隐藏输入添加到包含 id_table 值的表单中:

<form method="POST" action="/update_a">
    <input type="hidden" name="id_table" value="VALUE">
    ...
</form>

或者将 id_table 值作为查询参数包含到表单操作中:

<form method="POST" action="/update_a?id_table=VALUE>
...
</form>
© www.soinside.com 2019 - 2024. All rights reserved.