2016-11-28 43 views
0

我在页面1上发送ajax请求,当我返回响应时,我通过第2页上的javascript在客户端上重定向。我想要的是在第2页上显示Flash。只是“put_flash(”something“)”不起作用,因为我只能从动作中调用它 我返回page1上的ajax响应。而我想在第2页上显示Flash,我通过javascript代码重定向。我怎样才能做到这一点?如何在页面上显示flash如果在客户端上执行rediction,我会重定向到flash?

+0

我相信如果您发送带有'302​​'状态的js响应,就会分配闪存。我不知道这是不是一个合适的方式去,但哦。 – JustMichael

回答

1

我的闪光灯如何工作(主要来自Rails的世界,但我没有理由认为凤凰处理不同的看法)的理解是这样的:包括在渲染响应

  • 您的Flash消息。通常这个响应是一个重定向(302等),但它可以是任何状态码和任何响应主体。
  • 闪光仅仅是一个基于cookie的指令,客户端应沿着与请求发送,以显示以下呈现响应(通常HTML)某个消息。
  • 无论初始响应是否为302重定向,还是某些JS代码在某个点触发页面刷新,或者响应只是包含“Refresh”的普通HTML页面,这些机制都应该完全相同我!”链接等。无论下一个请求如何被触发,下一个请求应该包含flash cookie,并且您可以设置响应以相应地显示flash消息。

注意:如果到服务器的后续请求是一个AJAX请求返回JSON,我不知道到底会发生在这种情况下,Flash内容是什么。我的猜测是,当构建您的JSON响应时,您可以检查闪存并包含消息(如果存在),就像构建HTML响应一样。

相关问题