我的网页在浏览器的后退按钮上导致以下错误, 它适用于Firefox,但不适用于IE,
IE说,
最有可能原因: •此网页的本地副本已过期,网站要求您再次下载。
你可以尝试什么: 单击工具栏上的“刷新”按钮以重新加载页面。刷新后,您可能需要再次导航到特定网页,或重新输入信息。
应该是什么原因?
我正在使用Django + mod_python + apache作为生产环境。
如何消除此错误或如何追踪任何帮助将不胜感激。
答案 0 :(得分:0)
你的建议没错。这是因为你在那个页面上使用过POST。如果您希望人们返回页面,请在页面上放置一个链接以将其带回到他们想去的位置,但请确保他们仍然可以正常查看页面而无需向其发送数据。
答案 1 :(得分:0)
并不总是可以使用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数据的恼人警告,并且不太可能发生相同数据的多次提交(这意味着例如更少的双重发布)。