Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTTP重定向-Javascript还是Flask?_Javascript_Redirect_Flask - Fatal编程技术网

HTTP重定向-Javascript还是Flask?

HTTP重定向-Javascript还是Flask?,javascript,redirect,flask,Javascript,Redirect,Flask,定时重定向是所有三行代码,因此它“存在”的地方不是生或死,但用Python或Javascript编写它是问题的本质 我用Flask提供一些东西,每当一个页面发生变化,或者一个同事的书签因为某些原因过时或错误时,都会有一个礼貌的404页面和一个定时重定向(因为显然,没有人读“点击这里进入索引”链接,宁愿给我发电子邮件问我该怎么做,因为他们丢失了……唉)。虽然一个简单的重定向到/index可能不会像我的一些其他内容那样受到动态变化的影响——而且我的应用程序启动起来非常小——但我猜有一个正确的方法和一

定时重定向是所有三行代码,因此它“存在”的地方不是生或死,但用Python或Javascript编写它是问题的本质

我用Flask提供一些东西,每当一个页面发生变化,或者一个同事的书签因为某些原因过时或错误时,都会有一个礼貌的404页面和一个定时重定向(因为显然,没有人读“点击这里进入索引”链接,宁愿给我发电子邮件问我该怎么做,因为他们丢失了……唉)。虽然一个简单的重定向到
/index
可能不会像我的一些其他内容那样受到动态变化的影响——而且我的应用程序启动起来非常小——但我猜有一个正确的方法和一个更正确的方法来做到这一点,特别是当它扩展到更大的项目时

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


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

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

1) 单击链接

2) 你需要编写Javascript来完成这项工作


一旦404页面返回给用户,您的服务器端堆栈就不能再重定向用户了。

IMHO如果您提供404页面,那么接下来的任何重定向都必须在客户端完成(可能会将它们重定向到主页、搜索页面等)。服务器重定向必须在其他情况下完成。

@Ian是的,我想这也是一个选项。这通常被认为是不好的做法,但我认为这与在这种情况下使用Javascript重定向用户没有什么不同。我认为在不需要启用Javascript的情况下(尽管我不希望有很多人禁用它),情况就大不相同了。不过,这是另一种选择。为什么它被认为是不好的做法?@Ian,正如我所说,在这个用例中,它与Javascript没有什么不同。事实上,这只是最干净的方法。谢谢