CakePHP - установка данных, извлеченных из AJAX-вызова элемента - PullRequest
0 голосов
/ 14 сентября 2011

Я делаю новый ввод данных через AJAX. Он состоит из данных модели и некоторых данных HABTM. Я возвращаю все эти данные как объект json из моего контроллера, и я хотел бы добавить Элемент представления CakePHP, содержащий эти данные для текущего представления, в некоторой степени то, что делает твиттер, когда вы публикуете твит.

Как мне получить объект json, добавить элемент и установить данные из объекта json для указанного элемента? У меня есть хорошая идея о том, как добавить элемент, но настройки данных мне не ясны.

Ответы [ 2 ]

1 голос
/ 14 сентября 2011

Если я правильно понимаю ваш вопрос, вы хотите использовать представления CakePHP для отображения результатов данных JSON?

Если это так, вы можете сделать это так:

В вашем контроллере:

function my_ajax_action() {

   $data = // whatever method you use to fetch your data
   $this->set(compact('data'));
   $this->layout('ajax');

}

Создайте файл представления: my_ajax_action.ctp, который выводит отформатированный массив $ data

Используйте ajax, чтобы извлечь HTML, а не JSON <- важный бит, и вставить его в DOM: </p>

$.ajax({
    url: '/controller/my_ajax_action',
    success: function (result) {
        $('#myelement').html(result);
    }
});
0 голосов
/ 14 сентября 2011

Используйте $.getJSON, чтобы получить JSON, а затем выполните итерации и установите значения на своей странице. Очень прямолинейно ..

Посмотрите здесь http://api.jquery.com/jQuery.getJSON/

...