2014-04-30 28 views
0

這種情況:Codeigniter + Angular Js:如何保持flashdata?

我正在使用Codeigniter + Angular Js製作一個簡單的應用程序。

我使用Codeigniter進行了角度和服務器端驗證的客戶端驗證。 這兩個工作正常,除了一件事,相當重要:我不能夠顯示服務器端驗證的flashdata消息。

可能重定向到登錄頁面時,它會佔用多個服務器請求,並且flashdata會丟失。

這是我做了什麼:

在笨控制器:

$this->session->set_flashdata('errors', 'Username/password combination not correct'); 
$this->session->keep_flashdata('errors'); 
redirect('#/login'); 

在視圖:

<?php 
     echo validation_errors(); 
     if ($this->session->flashdata('errors')) 
     { 
     echo '<p>' . $this->session->flashdata('errors') . '</p>'; 
     } 
?> 

閱讀在StackOverflow上和谷歌都認爲解決方案將使用:

$ this-> session-> keep_flashdata

但在我的情況下不起作用。

這是一個問題:

我怎能flashdata爲多臺服務器的請求?

我無法加載視圖,因爲我在一個角度js部分,所以我必須重定向。但我必須能夠不惜一切代價保留flash數據。

回答

1

而不是在相同的函數中添加$this->session->keep_flashdata('errors');,添加到控制器的構造函數中。這將保留另一個服務器請求的flash數據,以便以後使用它。

+2

上帝保佑你! – johnnyfittizio

+0

很高興幫助:) – HeroFTime