4

客户要求用户能够在单击结果后返回到充满搜索结果的页面。现在这是一个简单的 jQuery 调用:

$('a.detail-back-button').on('click', function(evt) {
    evt.preventDefault();
    window.history.back();
});

但是,这会在 Firefox 中显示“文档已过期”页面。我知道它的存在是为了安全,但客户无论如何都希望实现它。我已经做了一些搜索,我找到了一个解决问题的 php ......

session_cache_limiter('private_no_expire')

...但这是一个基于 Django 的网站。还有其他解决方案吗?

2013 年 2 月 21 日更新

以下解决方案适用,但仅适用于非 IE 浏览器。IE8/9/10 似乎没有重新请求上一页。有IE解决方法吗?

4

1 回答 1

7

POST这与ed 请求的定义非幂等性质有关。即 aPOST是一个有效果的动作,因此重复是不安全的。为了防止这种情况意外发生,一些浏览器会在重新提交原始表单之前显示一个带有确认消息的占位符页面。

最可靠的解决方案 - 可能是唯一的解决方案 - 是使用该GET方法提交您的表单,无论如何这都是有道理的。

于 2013-02-19T19:32:29.973 回答