在我的Zend Framework应用程序中,我在侧边栏中有一个div。在主要部分我有一个手风琴列表。
如何在点击从数据库生成的手风琴列表时,通过ajax更新div的内容而不重新加载整个内容?如何处理控制器/操作语句?
感谢您的帮助......问候
答案 0 :(得分:0)
这就是你想要的:
Zend Framework 1.9 tutorial 13: ZendX_Jquery introduction part 1 - ZendX
和
Zend Framework 1.9 tutorial 14: ajax requests part 1 - Accordion Example
通常在控制器的init方法中,您需要一个上下文切换来启用json
$contextSwitch->addActionContext ( 'index', 'json' )->initContext ();
在您的javascript中,您可以编写ajax逻辑并更改DOM以应用新的响应。下一次更具体,并给我们代码。
答案 1 :(得分:0)
$('select-all-accordion-pieces').click(function (event) {
event.preventDefault(); // if you're clicking on links or something similar
var dataAboutTheAccordionPieceClicked = $(this).whatever;
$('select-your-div-here').load('your-controller-url', dataAboutTheAccordionPieceClicked );
});
编辑:指向zend框架教程的帖子可能更好,但这可以在任何情况下使用 - 它只是简单的jquery。
答案 2 :(得分:0)
考虑到您可能希望对收到的请求应用逻辑以便仅返回必要的一点数据 - 对控制器/操作执行ajax调用。
获取操作中的数据。
将其归还:
$this->_helper->json($data);
禁用布局和viewrenderer,即:
$this->_helper->layout()->disableLayout();
$this->_helper->viewRenderer->setNoRender(true);
echo json_encode(data);
让javascript处理返回的数据。