gpt4 book ai didi

session - 如何在 POST + HTTP 重定向后向用户显示消息

转载 作者:行者123 更新时间:2023-12-02 09:41:54 25 4
gpt4 key购买 nike

我正在使用PRG pattern以避免多次提交表单。然而,它有一个严重的缺点 - 您不能简单地向用户回显确认消息(显然,用户不会看到该页面,他将被重定向到另一个页面)。

这个问题有什么解决办法吗?我认识其中两个,但他们似乎都不完美。

  • 使用自定义重定向网址,例如:http://example.com/?msg=data-saved。它是无状态的,所以我认为它是相当可靠的。但当用户复制链接、为其添加书签等时,就会产生问题。
  • 存储 session 变量/cookie,并在每次页面加载时检查它。如果已设置,请将其清除并显示消息。看起来不错,但我不确定这个——它强烈依赖 cookie,有点复杂。

或者也许还有其他我不知道的方法? session 和 URL 参数的某种组合?我不知道。

您认为最好的方法是什么?哪一个的缺点最少?有什么优点和缺点?

最佳答案

还有其他几个堆栈溢出问题涉及到这一点,尽管我认为没有人如此清楚地总结了问题。以下是一些:

大多数方便的解决方案都是基于 session 的或具有更严重的缺点(例如将消息嵌入查询字符串中)。

如果您不能保证会有 session ,另一种(相当昂贵)的方法是根据表单提交的结果重定向到不同的 View 。例如,您可能会重定向到 EditWidgetViewEditWidgetSaveSuccessfulViewEditWidgetSaveErrorView(或者您可能只是在出现错误时不重定向)。在某些语言和框架中,这是不切实际的,以至于让您根本放弃显示确认/错误消息,但在其他语言和框架中,这可能是值得的。

关于session - 如何在 POST + HTTP 重定向后向用户显示消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1058497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com