我们正在使用 Apache、Python 和 Django 开发一个新网站。
在开发阶段,没有问题,但是一旦绑定(bind)到 Apache,使用 Firefox 3.5.3,我们遇到了一个奇怪的问题。
我们站在:
当我们想要更改研究的顺序时,我们会将用户发送到:
http://website.fr/search/order/price/
此页面更改 session 变量并使用代码 302 重定向到:
问题是 Apache 发送了 302 Apache 代码,而 Firefox 没有刷新页面。 当我们将用户重定向到他之前所在的同一页面时,我们遇到了同样的问题。
我们应该怎么做才能强制刷新页面?
最佳答案
发生的事情是,浏览器请求新的 URL,并通过 302 被重定向回缓存中的前一个,因此不会刷新。添加一个随机整数,就像 Piotr 所建议的那样将解决问题。对于随机性,您可以使用简单的时间戳。
在您执行操作时向前执行的含义会使您的应用不符合 REST 风格,并禁止用户为结果添加书签 - 我想知道这是否真的是您想要做的。
尝试使用 303 或 307 状态代码而不是 302 可能值得一试,也许行为会有所不同。
另见: http://en.wikipedia.org/wiki/HTTP_302
http://en.wikipedia.org/wiki/Representational_State_Transfer
关于python - 执行操作并重定向到相同的 URL 不会刷新页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1538994/