History.go(-1)不能在chrome上工作.任何选择



在我的项目中,我使用下面的Javascript代码history.back();回到上一页。(就像窗口上的反向箭头)。这个功能是工作良好的IE和火狐,但不是在谷歌chrome ?

<input type="button" value="Go back" onclick="history.go(-1); return false" />

我得到下面的错误

确认表单重新提交

此网页需要您之前输入的数据才能显示正确显示。您可以再次发送此数据,但这样做您将重复此页面先前执行的任何操作。按"重新加载"以重新发送该数据并显示该页。

我用google搜索了,但是每个人都在说history.go(-1);但这也行不通。还尝试了history.back(),但也没有帮助

上一页显示在POST请求之后(通常在提交表单时发生)。这意味着,要显示前一个页面,必须再次提交在POST请求中提交的表单数据。它与Javascript的history.go(-1)无关,它也会在您按下浏览器的后退按钮时发生。

你可以使用Post Redirect Get模式来解决这个问题。

您也可以在表单上使用GET:

<form action="..." method="GET">

但是,不要将此用于在服务器上添加数据的表单,否则每次用户按后退按钮并返回此页面时都会提交数据。请参见:何时应该使用GET或POST方法?

试试这个:

<script>
function goback() {
    history.go(-1);
}
</script>
<a href=”javascript:goback()”>Back</a>

可以在Chrome和其他浏览器中使用

以上是逐字复制自:

http://simonthegeek.com/technical/history-back-problems-with-chrome-and-safari/

我更喜欢客户端代码,而不是打扰我的服务器
我试了一下,它在所有浏览器上都有效:

<button onclick="javascript:window.history.back()">Back</button>  

编辑
或者你可以使用web缓存来存储你的最后一个页面,然后你可以很容易地重定向到那个页面。