codeigniter, set_flashdata ('abc', 'hi); - PullRequest
       2

codeigniter, set_flashdata ('abc', 'hi);

0 голосов
/ 14 декабря 2010

Я использую codeigniter в моем проекте.

при обновлении страницы,

на странице контроллера,

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

на странице просмотра, эхо

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

отлично работает.

но при вызове ajax, а не при обновлении страницы, контроллер,

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

просмотр,

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

не работает .....

ничего не повторяя ~ -_-; У ajax нет механизма для захвата данных флеш-сессии?

есть идеи?

Ответы [ 3 ]

3 голосов
/ 15 марта 2011

флэш-данные сохраняются до следующего http-запроса.

если вам нужно больше, используйте:

$this->session->keep_flashdata('item');
0 голосов
/ 14 декабря 2010

Ваш Ajax-вызов будет выводить только то, что Controller / Method печатает в выходной буфер.Так что, если вы добавите

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

к своему контроллеру, который вызывается методом Ajax, он вернет эхо к методу Ajax, который вы затем сможете отобразить на странице.Оператор echo в представлении будет выполняться только при обновлении вашей страницы, поскольку PHP должен скомпилировать этот оператор echo на сервере во время выполнения, а затем вернуть результат в ваш браузер.

0 голосов
/ 14 декабря 2010

Вы, вероятно, не должны использовать flashdata

Тебе просто нужно повторить. Эхо должно исходить от вашего метода контроллера. и ваш JavaScript, принимающий ответ, должен вставить его в элемент на вашей странице.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...