如何在Django视图中跳过插页广告,用户按返回按钮时?
我有一个应用程序,其中有一个中间页面,用来在后台进行一些耗时的操作时让用户等待(这个操作大约需要30秒到1分钟)。一旦操作完成,用户就会被引导到结果页面。
用户在结果页面上的常见行为是点击“返回”按钮,以便对不同的输入进行操作。但是,点击返回按钮后,他们会回到中间页面,而不是最初的表单。我们希望的行为是,点击返回时直接回到最初的表单,完全跳过中间页面。如果用户不是从最初的表单进入中间页面,这种行为应该是默认的。
我想通过在中间页面的视图中使用@never_cache
这个功能装饰器,以及根据request.META['HTTP_REFERER']
的逻辑来实现这个目标,但页面并没有遵循这些设置。浏览器的返回按钮依然优先于这些设置。
有没有什么想法可以解决这个问题呢?
1 个回答
2
怎么让中间的页面不影响流程?简单点,就是把它去掉。
我最近才开始理解AJAX,所以不能给你一个特别具体的答案,但一般的做法是用像jQuery这样的工具,在提交表单后,把表单的内容
替换成一个“嘿,我在处理呢”的提示,然后等新页面准备好后再加载。
jQuery很贴心地会在某些请求中加上一个独特的、无用的参数,这样可以防止缓存那些经常变化的页面。