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

标签 python django http httpwebrequest http-status-code-302

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

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

我们站在:

http://website.fr/search/

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

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

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

http://website.fr/search/

问题是 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/

相关文章:

python - 当使用 asyncio.run 单独执行每个迭代时,嵌套的异步到同步生成器在第一次迭代时停止

django - 如何将 QuerySet 过滤/减少到每第 n 行?

django - 你如何优化 Django Auth 查询?

amazon-web-services - EC2 在网络 ACL 中自动添加 DENY All Traffic 规则(无法编辑规则)

c - 是否可以使用 libcurl 同时下载和发布 multipart/form-data 同一文件?

python - 带有消费者 key 和 secret 的简单 python oAuth 1.0 示例

python - 使用 SQLAlchemy 列出数据库表

python - xarray 使用多维坐标选择最近的纬度/经度

Django ModelForms __init__ kwargs 创建和更新

javascript - 如何在 rxjs 中做链式序列