执行操作并重定向到相同的 URL 不会刷新页面

Nat*_*tim 3 python django http httpwebrequest http-status-code-302

我们正在使用 Apache、Python 和 Django 开发一个新网站。

在开发阶段,没问题,但是一旦绑定到Apache,使用Firefox 3.5.3,我们遇到了一个奇怪的问题。

我们坚持:

http://website.fr/search/

当我们想改变研究的顺序时,我们将用户发送到:

http://website.fr/search/order/price/

此页面更改会话变量并使用代码 302 重定向到:

http://website.fr/search/

问题是 Apache 发送了 302 Apache 代码,而 Firefox 不刷新页面。当我们将用户重定向到他之前所在的页面时,我们遇到了同样的问题。

我们应该怎么做才能强制刷新页面?

tm_*_*_lv 5

发生的情况是,浏览器要求提供新的 URL,然后通过 302 重定向回前一个 URL,该 URL 位于缓存中,因此不会刷新。添加一个随机整数,就像 Piotr 建议的那样将解决问题。对于随机性,您可以使用简单的时间戳。

在您正在执行的过程中向前执行的含义会使您的应用程序变得不稳定并禁止用户为结果添加书签 - 我想知道这是否真的是您想要做的。

尝试使用 303 或 307 状态代码而不是 302 可能值得一试,也许行为不同。

另见:http : //en.wikipedia.org/wiki/HTTP_302

http://en.wikipedia.org/wiki/Representational_State_Transfer