我编写了一个用户填写的 HTML 表单,但是如果他们再次访问该页面,我如何证明他们已经提交了该表单?

在一个名为 today.html 的文件中,我编写了一个扩展表单供用户填写。我有一个带有 GET 和 POST 请求的 application.py 文件,这样用户将获得 today.html 表单以填写某个路由 (GET),并在提交 (POST) 时,将该信息提交到 SQLite 数据库。在用户再次访问表单所在的 GET 路由的情况下,我需要帮助。我希望他们不能再次填写表格,而是让他们看到他们已经填写的消息,并查看(并可能编辑)他们已经完成的工作。我该怎么做呢?



皈依舞
浏览 178回答 2
2回答

qq_遁去的一_1

这可以通过在 GET 响应中包含额外数据来完成。我假设用户有一个唯一的 ID,可以帮助您确保他们只填写一张表格。然后,在 GET 请求中,当他们尝试获取表单时,只需查询您的数据库以查看他们是否已经提交了表单。如果他们这样做了,您可以包含这样的对象{  isFilledOut: true,  submittedForm: // List of required fields  submittedFormData: // Object containing data from their previous submission}对于已经填写的表格。如果isFilledOut为真,则在客户端显示表单,并填写他们已经提交的数据,允许他们进行更改并根据需要重新提交。如果他们之前没有填写过表格,您的服务器可能会返回{  isFilledOut: false,  submittedForm: // List of required fields  submittedFormData: null}在这种情况下,您会提示他们填写表格。这是一个简单的例子——如果你愿意,你可以去掉布尔值,只检查提交的表单是否为空。

慕丝7291255

在服务器端,您可以在回答 GET 请求之前检查最后一个数据库条目时间戳。您还可以设置客户端 cookie 以加快界面速度。如果客户端和服务器在 GET 请求后不匹配,您总是可以抛出“out of sinc”错误
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript