На стороне клиента, когда, скажем, нажата кнопка «Добавить», сообщение отправляется обратно на сервер через Ajax. Сервер обрабатывает сообщение и возвращает результат обратно клиенту. Теперь у вас есть два варианта:
- Сервер отвечает только с успехом или неудачей. В случае сбоя ваш JavaScript отображает сообщение об ошибке, в случае успеха вы добавляете сообщение в список (используя значения, отправленные на сервер)
- Сервер отвечает всеми данными, которые должны быть добавлены (скажем, сообщение, автор, дата, ...). Сервер может возвращать такие данные, как JSON, и, поскольку JSON = нотация объектов JavaScript, JavaScript может легко их проанализировать. Используя эти данные, вы создаете новый узел и добавляете его.
Ответ JSON может выглядеть примерно так:
{
message: 'I like the new picture!',
author : 'William',
date : '2011-10-9'
}
и вы разбираете его с помощью JavaScript. Ссылка на этот вопрос для примера разбора: Разобрать JSON в JavaScript?
Я бы предложил вам использовать второй вариант, поскольку на стороне сервера может выполняться некоторая фильтрация / очистка сообщений, и конечный результат, отображаемый для пользователя, может не совпадать с его введением.
Я использую не CodeIgniter, а Zend, и у него есть приятная логика для изменения типа ответа с HTML на JSON или XML. Этот вопрос может вам немного помочь: codeigniter JSON