在perl中刷新没有“确认表单重新提交”的浏览器

时间:2014-11-17 20:45:00

标签: html perl google-chrome browser

我有一个perl脚本,可以打印HTML代码并根据HTML页面中的用户输入运行操作。我希望能够禁用“确认表单重新提交”警告并阻止用户重复上一个命令运行。我在php中看到了一些解决这个问题的帖子,但不知道如何用perl来解决这个问题。

谢谢!

1 个答案:

答案 0 :(得分:6)

防止这种情况的常用技巧是Post/Get Redirect pattern

这并不能阻止浏览器像他们那样行事,但是在POST成功后它会将用户重定向到新页面,这样如果他们刷新就不会重复POST,而是重复GET,而不是引发警告。

这是一个流程示例:

  • 获取“产品/创造”
  • 某些信息中的用户类型
  • POST“产品/创建”
  • 验证失败,重新显示带有警告的表单 - 用户更正输入
  • POST“产品/创建”
  • 验证通过,项目保存重定向,使用GET到“Products / View / 5”
  • 用户刷新页面,这会导致无害的GET“Products / View / 5”

要发出重定向,您可以使用:

use CGI;
my $query=new CGI;
print $query->redirect('http://www.example.com/newpage');