HTTP重定向-Javascript或Flask

HTTP Redirects - Javascript or Flask?

本文关键字:Flask -Javascript 重定向 HTTP      更新时间:2023-09-26

定时重定向是由三行代码组成的,所以它"生活"的地方不是生或死,但用Python或Javascript编写它是问题的本质。

我用Flask提供一些东西,每当页面更改或同事的书签因原因过期或错误时,都会有一个礼貌的404页面和定时重定向(因为显然,没有人阅读"点击此处访问索引"链接,宁愿给我发电子邮件问我该怎么办,因为他们迷路了……叹气)。虽然简单地重定向到/index可能不会像我的一些其他内容那样受到动态更改的影响,而且我的应用程序启动起来很小,但我猜有一种正确的方法和更正确的方法可以做到这一点,尤其是当它扩展到更大的项目时。

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

这也是一个关注点分离的问题。我可以在Flask方面做很多事情,但把代码放在它应该放的地方比放在方便的地方要好,尤其是在需要更改的时候。因此,尽管return redirect(url_for('theRightPageAtTheRightTime'))看起来确实不错,但我没有受过足够的教育,不知道它是否属于。它属于Flask应用程序吗?或者我的重定向逻辑应该留在.js文件中?

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

1) 单击链接。

2) 你写Javascript来做这件事。

一旦404页面返回给用户,服务器端堆栈就不能再执行任何重定向用户的操作。

IMHO如果您提供404页面,则必须在客户端进行任何重定向(可能会将它们重定向到主页、搜索页面或其他类似页面)。在其他情况下必须执行服务器重定向。