2010-12-14 15 views
0

私は自分のプロジェクトでcodeigniterを使用しています。codeigniter、set_flashdata( 'abc'、 'hi);

たときにページの更新、コントローラのページで

、ビューページで

$this->session->set_flashdata('abc', 'hi); 

、 が正常に動作します

$this->session->flashdata('abc'); 
をエコー。

しかし、AJAX呼び出しではなく、ページの更新、 コントローラ、

$this->session->set_flashdata('abc', 'hi); 

ビューは、

echo $this->session->flashdata('abc'); 

は動作しません.....

〜何をエコーし​​ません - _-; ajaxにセッションフラッシュデータを取得するメカニズムがありませんか?

答えて

0

flashdataを使用しないでください。

エコーする必要があります。エコーはあなたのコントローラーメソッドから来るはずです。レスポンスを受け入れるJavaScriptは、ページ内の要素に挿入する必要があります。

0

あなたのAjaxコールは、コントローラ/メソッドが出力バッファに出力するものだけを出力します。あなたはAjaxの方法で呼び出されます、あなたのコントローラに

echo $this->session->flashdata('abc'); 

を追加するのであれば、それはuは、ページに表示できるAjaxの方法にエコーを返します。ビュー内のechoステートメントは、ページがリフレッシュされたときにのみ実行されます。これは、PHPが実行時にサーバー上のechoステートメントをコンパイルし、その結果をブラウザに返さなければならないためです。

3

フラッシュデータは次のhttp要求まで保存されます。

あなたはもはやそれを必要とする場合に使用:

$this->session->keep_flashdata('item'); 
関連する問題