У меня есть немного данных, которые я хочу использовать для построения поля выбора формы.JS, который генерирует форму (это часть плагина jqgrid), находится в представлении.Как мне получить данные из контроллера в javascript, чтобы я мог их использовать?
Чтобы просто получить что-то работающее, я попробовал следующее ...
В контроллере, который я создал действие длявернуть некоторые примеры данных:
public function testAction()
{
$this->_helper->layout()->disableLayout();
$this->_helper->viewRenderer->setNoRender();
$a = "0:Select";
return Zend_Json::encode($a);
}
В представлении я выполняю ajax-вызов этого действия:
var testselect = $.ajax({
url: '/admin/sites/test',
dataType: "json",
complete: function(data) {
console.log(data);
}
});
И это возвращает объект XMLHTTPRequest, который частично содержит:
responseText:""
status:200
statusText:"OK"
Не должен ли responseText быть тем, что было возвращено при вызове /admin/sites/test
?
На мой взгляд, это то, что происходит:
- представление делаетajax-запрос к тестовому действию контроллера сайтов в модуле администратора
- тестовое действие JSON кодирует содержимое
$a
и возвращает его complete
функция обратного вызова testselect
записывает результат на консоль и должен содержать $a
в responseText
.
Где я это неправильно понимаю?Есть лучший способ сделать это?Например, может ли контроллер передать необходимые данные объекту представления, а затем я каким-то образом получу доступ к ним в javascript (хотя как, без выполнения запроса ajax или помещения данных в какой-нибудь суперглобальный тип, такой как $ _SESSION, я не знаю)?
Любая помощь приветствуется.