Powered by CodeIgniter

AJAX

Асинхронные запросы всегда имеют две составляющих — клиентскую и серверную.
  • Клиент — мы используем прекрасный JavaScript-фреймворк MooTools версии 1.2.window.addEvent('domready'){ $$('.action').each(function(link){ link.addEvent('click',function(){ new Request.JSON({ url: '/ajax/favorites/manage/', data: link.get('id').split('-')[1], onComplete:function(re,reText){ /* * Если ответ в Json */ if(re.success){ ... // Do something } msg(re.msg,re.success); /* * Если ответ простым текстом -- тогда надо проверять второй аргумент reText */ } }).post(); }); }); }Настоятельно рекомендуем ознакомиться с документацией MooTools.
  • Сервер — данные ловятся через Input Class и отправляются обратно через функцию движка ajax.... function manage(){ $data['id'] = $this->input->post('id'); $data['name'] = $this->input->post('name'); ... // Автоматически переводит массив/объект в json и отдает его // Укажем текст оповещения $data['msg'] = t('!some_department some_message'); // Удача ajax(TRUE,$data); // Неудача ajax(FALSE); // Можно отдать простой текст, для этого тип переменной должен быть "string" ajax(t('!some_department some_message')); } ...
Помните, что для запросами между поддоменами надо добавлять «ajax» первым элементом запроса.
http://mail.cogear.ru/ajax/blogs/show/1/ => http://cogear.ru/blogs/show/1/