【问题标题】:local copy of this webpage is out of date此网页的本地副本已过期
【发布时间】:2011-01-20 12:49:23
【问题描述】:

我的网页导致浏览器的后退按钮出现以下错误, 它适用于Firefox,但不适用于IE,

IE 说,

最可能的原因: •此网页的本地副本已过期,网站要求您重新下载。

您可以尝试什么: 单击工具栏上的刷新按钮以重新加载页面。刷新后,您可能需要再次导航到特定网页,或重新输入信息。

应该是什么原因?

我正在使用 Django + mod_python + apache 作为生产环境。

如何消除此错误或如何跟踪任何帮助将不胜感激。

【问题讨论】:

  • 我找到的一个解决方案是,我将方法类型从 POST 更改为 GET。

标签: django apache session cookies


【解决方案1】:

使用 GET 代替 POST 并不总是可行的,例如当数据量超过最大 URL 长度时。因此,如果您想使用 POST,我建议您在每次 POST 后使用重定向进行响应。类似的东西(伪代码):

def view(request):
   form = Form(request.form)
   if request.method == 'POST' and form.validates():
       # process form data, e.g.
       m = Model(form.data)
       m.save()
       # response with a redirect (e.g. to the newly inserted data, or
       # back to the initial page)
       return redirect(m.get_absolute_url())
   return render_template('template.html', form=form)

这样做的好处是,用户不会收到关于重新发送您描述的任何 POST 数据的那些烦人的警告,并且不太可能发生多次提交相同数据的情况(这意味着例如更少的重复发布)。

【讨论】:

    【解决方案2】:

    你的建议没有错。这是因为您在该页面上使用了 POST。如果您希望人们返回页面,请在页面上放置一个链接以将他们带回他们想去的地方,但要确保他们仍然可以正确查看页面而无需向其发布数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-14
      • 1970-01-01
      • 2013-04-02
      • 2021-01-30
      • 2017-10-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-20
      相关资源
      最近更新 更多