我有表格的页面。这是完美的工作,在表单提交后,它将替换为“谢谢”消息。最初表单可以通过URL http://localhost:5000/contact
访问,提交后它具有相同的URL。提交网址更改为http://localhost:5000/contact?aftersubmit
后,我想要这样做。即在服务器端添加查询字符串参数。
我知道我可以通过重定向来完成,但因此我丢失了提交后的渲染内容。我也不希望如果用户输入http://localhost:5000/contact?aftersubmit
可以看到提交后的内容,即我无法在客户端分析查询字符串并更新HTML。它必须在服务器端完成。
怎么做?
答案 0 :(得分:1)
简答:客户端应在提交表单数据时添加查询参数(例如,在action
标记的form
参数中)。
说明:服务器正在响应对特定网址的请求。服务器无法“更改请求的URL”。服务器唯一能做的就是要求客户端通过返回重定向向另一个URL发送另一个请求。正如您所提到的,这种方法的问题是表单数据将丢失。您可以使用cookie或类似的机制保存表单数据,但是让客户端首先将表单提交到正确的URL会更容易。