2011-08-21 62 views
0

在视图,有这个基本的JavaScript/jQuery的:php/zend/json:如何获取视图然后将其作为json对象传递?

$('#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); 
} 

有没有办法来渲染其他操作视图,并将其发送回JavaScript作为的一部分json对象?

回答

2

听起来像Action View-Helper可以完成这项工作。

+0

它*可以*做这项工作,但也会有更好的办法。 – Phil

+0

非常感谢!我一直在寻找这个:D – evilReiko

+0

很高兴帮助。干杯。 –

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); 
相关问题