是否可以在zend框架中使用ajax加载视图,这样布局页面不会刷新,只是主要的内容div?
答案 0 :(得分:5)
使用Ajax上下文切换,您可以将其添加到控制器中的init函数
public function init()
{
$ajaxContext = $this->_helper->getHelper('AjaxContext');
$ajaxContext->addActionContext('my', 'html') //my is your action
->initContext();
}
html参数是Ajax请求的类型。它也可以是JSON或XML
public function myAction() {
// get what you are sending to your view : data
$this->view->data = $data;
}
创建一个视图my.ajax.phtml
默认情况下myAction将尝试向其呈现
然后在你的视图中包含my.ajax.phtml(你的主要内容div)
答案 1 :(得分:0)
使用Zend 1.12,我们使用了Zend_Controller_Action_Helper_Json;
<强>控制器:强>
use Zend_Controller_Action_Helper_Json;
class MyController extends Zend_Controller_Action {
public function init() {
Zend_Controller_Action_HelperBroker::addHelper(new Zend_Controller_Action_Helper_Json());
}
public function fooAction() {
$this->getResponse()->setHttpResponseCode(200);
$this->_helper->json(array('value' => 1));
}
}
查看:强>
<强>输出:强>
{"value":1}
拨打:强>
http://example/my/foo