Ajax в Codeigniter с jQuery, как отправить обратно данные? - PullRequest
0 голосов
/ 12 июля 2011

Как отправить данные с контроллера обратно в представление?

скажем, у меня есть следующий контроллер поиска:

function search()
{
$search_text = $this->input->post('company');

$data['found_companies'] = $this->Company->get_companies_by_name($search_text);
$data['page_title'] = 'Search';
$this->load->view('head', $data);
$this->load->view('pages/after_search', $data);
$this->load->view('footer');
}

Я возвращаю результаты поиска из модели из модели в $data['found_companies'], как мне передать их как данные, возвращаемые Ajax?

Ответы [ 2 ]

2 голосов
/ 12 июля 2011

Почему бы не

 function search()
    {
    $search_text = $this->input->post('company');

    $data['found_companies'] = $this->Company->get_companies_by_name($search_text);
        /*
        $data['page_title'] = 'Search';
        $this->load->view('head', $data);
        $this->load->view('pages/after_search', $data);
        $this->load->view('footer');
       */ //Remove these part as it will display your view
    return json_encode($data['found_companies']);

    }

с запросом Ajax (т.е. с jQuery);

$.post('search',myData,function(result){
  console.log(result); //found_companies
});
0 голосов
/ 12 июля 2011

При вызове CJ ajax все, что вам нужно сделать, это отобразить объект JSON, содержащий информацию, а не загружать представления.Представления должны быть загружены при загрузке страницы контроллером страницы.Контроллеры AJAX должны быть отдельными.

VID об этом здесь http://geekhut.org/2009/06/how-to-codeigniter-jquery-json/

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