我有一个表单,我在向导中提交一些信息.此页面通过POST到达并与Smarty一起显示.一旦我提交了所有信息,我正在使用另一个帖子来到另一个页面.现在,问题是,当我尝试使用BACK按钮返回时,我正在查看"文档已过期"消息.
我使用POST时是不是正常的事情?
我现在正在尝试使用GET,但没有任何改变,或者我的GET写错了.
这是一个小模式:
Page 1 -> POST -> Page 2 (wizard) -> POST -> Page 3
Run Code Online (Sandbox Code Playgroud)
当我尝试从第3页回到第2页时,我认为文档已过期.
非常感谢您对我的问题的帮助.
http://en.wikipedia.org/wiki/Post/Redirect/Get
在我看来,你应该为每个 POST 做到这一点,至少在生产中.
小例子:
if ('GET' == $_SERVER['REQUEST_METHOD']) {
//display view
}
else if ('POST' == $_SERVER['REQUEST_METHOD']) {
//process input
//update session
header('Location: /next/page/to/view', true, 303);
}
Run Code Online (Sandbox Code Playgroud)
编辑:想要指出这篇旧帖子指的是浏览器提交.在RESTful Web服务中,您可能会回复201 for POST.