后退按钮重新提交表单数据 ($_POST)
我的问题是,当上一页是由表单创建的时,后退按钮会导致浏览器说“页面已过期”。
例:
- page1:使用搜索条件提交的表单($_POST请求,表单指向页面2)
- page2:接收 $_POST 请求并显示结果(带有链接的用户列表,指向 page3)
- 第 3 页:显示用户配置文件
现在,当访问者单击浏览器中的后退按钮时,它将显示类似“页面已过期”的内容。
相反,上一页应该显示没有警告(第2页,带有用户列表)
您如何采取策略来规避这种行为?
我的问题是,当上一页是由表单创建的时,后退按钮会导致浏览器说“页面已过期”。
例:
现在,当访问者单击浏览器中的后退按钮时,它将显示类似“页面已过期”的内容。
相反,上一页应该显示没有警告(第2页,带有用户列表)
您如何采取策略来规避这种行为?
如果您要提交带有搜索参数的表单,则您尝试获取一些数据,而不是修改某些数据。
因此,您应该使用HTTP GET方法,而不是POST:当您打算创建/修改数据时应使用POST,而当您打算获取某些数据时应使用GET。
或者,如果您有一些必须完成的创建/修改操作:
Location
请参阅维基百科上的帖子/重定向/获取页面,关于这一点。