2012-06-12 2 views
0

У меня есть контроллер, где у меня есть метод, называемый индексом. В этом методе я извлекаю данные из базы данных и используя переменную настройки библиотеки подкачки для просмотра для подкачки. Когда я добавляю новую запись, я нажимаю другую функцию, используя ajax. Там после установки я называюCodeigniter метод ajax проблема связана с url

$this->index(); 

Сейчас в индексе я проверить состояние

if($this->input->is_ajax_request()){ 
    //dont load header and footer 
} 

, но проблема в том, что, когда я пришел к индексу из моих сохранить функцию он теряет запрос Аякса и мое состояние в индексная функция не проверяется, а верхний и нижний колонтитулы всегда загружаются. Я хочу, чтобы запрос ajax был доступен, даже если я перехожу от одного метода codeigniter к другому? Любое предложение? Или изменить родной. Потому что я не хочу создавать другую функцию, где снова создавать пейджинг с верхним и нижним колонтитулами.

ответ

1

Что-то, что может быть полезно, это CodeIgniter's session class which has a flashdata method. Flashdata - это бит данных сеанса, который сохраняется только для следующего запроса сервера, а затем удаляется.

В вашей экономии функции, вы могли бы иметь это в конце:

$this->session->set_flashdata('ajax', true); 

и, как часть условия в вашей индексной функции, вы могли бы:

if($this->input->is_ajax_request() || $this->session->flashdata('item')){ 
    //dont load header and footer 
} 

Это позволило бы проверить что запрос был фактически ajax-запросом или что переменная сеанса была временно установлена, чтобы сообщить CodeIgniter, что она должна рассматриваться как запрос ajax.

+0

Спасибо, что решил мою проблему, я никогда не смотрел на данные флэш-памяти, но теперь я рад узнать об этом –

+0

, также я нашел вместо этого $ this-> index(); перенаправление (myurl) работает хорошо –

Смежные вопросы