2016-11-28 41 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響應一樣。

相關問題