HTTP重定向 - Javascript或Flask?

时间:2013-08-06 15:26:48

标签: javascript redirect flask

定时重定向是三行代码中的所有代码,因此它的生活位置是'不是生死,但用Python或Javascript写它是问题的本质。

我使用Flask来提供一些东西,每当页面发生变化或者同事的书签因为原因而过时或出错时,都有礼貌的404页面和定时重定向(因为显然,没有人读取"点击此处转到索引"链接,而是宁愿给我发电子邮件询问该怎么做,因为他们丢失了......叹了口气)。虽然简单地重定向到/index可能不会像我的其他一些内容那样受到动态更改 - 而且我的应用程序启动非常小 - 我猜测那里是正确的方式 righter 这样做的方法,特别是在扩展到更大的项目时。

特别是考虑到重定向应该更加动态 - 也许我并不总是希望在不同情况下以相同的方式对待404,例如当用户在弹出窗口中期望补充内容但是他们得到了404和重定向,我的应用程序的不同响应将更合适。这似乎是Flask应该处理重定向的情况,而不是仅仅依赖于在Javascript中使用三行​​定时重定向来提供404模板 - 对吧?

它也是一种关注点分离的问题。我可以在Flask方面做很多事情,但是把代码放在它所属的地方比把它放在方便的地方更好,特别是在需要改变的时候。因此,即使return redirect(url_for('theRightPageAtTheRightTime'))确定看起来不错,但我还没有足够的知识来了解它是否属于所属的。它属于Flask应用吗?或者我的重定向逻辑应该保留在.js文件中吗?

2 个答案:

答案 0 :(得分:0)

我不确定你在这里问的是什么,但是没有办法提供404页面,然后在没有它们的情况下重定向用户:

1)点击链接。

2)你写Javascript来做到这一点。

将404页面返回给用户后,您的服务器端堆栈将无法再执行任何操作来重定向用户。

答案 1 :(得分:0)

恕我直言,如果您提供404页面,那么必须在客户端进行任何重定向(可能将它们重定向到主页,搜索页面等等)。必须在其他情况下完成服务器重定向。