在视图中,有这个基本的javascript / jquery:
$('#jsoncallbtn').click(function() {
$.post('/mycontroller/json', {
someint: 123,
somestr: 'string'
}, function(datafromserver) {
alert(datafromserver.data1); // prints "test"
alert(datafromserver.data2); // prints "null"
}, "json");
});
在服务器端:
public function jsonAction()
{
$jsonArray = array('data1' => 'test',
'data2' => $this->render('anotheraction'));
$this->_helper->json($jsonArray);
}
有没有办法渲染另一个动作视图并将其作为json对象的一部分发送回javascript?
答案 0 :(得分:2)
听起来像Action View-Helper可以胜任。
答案 1 :(得分:1)
您可以创建一个单独的Zend View实例,并将视图的输出添加到JSON数组中。例如:
$view = new Zend_View();
$view->variable = "testing 123";
$html = $view->render('path/to/view/file.phtml');
$jsonArray["html"] = $html;
Zend_Json::encode($jsonArray);