我想在zend框架工作中实现ajax功能。所以,请尝试给我一个简单的例子。
答案 0 :(得分:0)
在zend框架项目中有两种使用ajax的方法。确保您的库文件夹中有ZendX。它可以帮助您使用ajax。
第一种也是最直接的方法是像在任何其他网络项目中一样使用它。将所有java脚本文件复制到/public/js/
文件夹中。
在我的项目中,我使用jQuery。所以在你的_initViewHelpers
函数中你必须启用jQuery:
ZendX_JQuery::enableView($view);
在你的布局脚本中你可以这样做:
if ($this->jQuery()->isEnabled()){
$this->jQuery()->setLocalPath($this->baseUrl ().
'/js/jquery/jquery.min.1.4.4.js')
echo $this->jQuery()->uiEnable();
}
并在任何视图脚本中:
$this->jQuery ()->enable ()->addJavascriptFile ( $this->baseUrl () .
'/js/frontend.js' )
另一种方法是让zend创建ajax函数。观看此HOW TO,它从一开始就向您展示如何在zend框架项目中使用ajax。
答案 1 :(得分:0)
进入我的Bootstrap.php
protected function _initJQuery()
{
$this->bootstrap('view');
$view = $this->getResource('view');
ZendX_JQuery::enableView($view);
$viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer();
$viewRenderer->setView($view);
Zend_Controller_Action_HelperBroker::addHelper($viewRenderer);
$view->jQuery()->setRenderMode(ZendX_JQuery::RENDER_JAVASCRIPT | ZendX_JQuery::RENDER_JQUERY_ON_LOAD);
}
你可以看到你需要ZendX 你的图书馆
在Layout.phtml中进入
echo $this->headScript()->appendFile('/js/jquery-1.4.4.min.js')
->appendFile('/js/jquery-ui-1.8.10.custom.min.js'); ?>
并且你将全面使用JQuery,然后,你应该期待Ajax响应,就像我做的那样:
private function noLayout() {
$viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
$viewRenderer->setNoRender();
Zend_Layout::getMvcInstance()->disableLayout();
}
此函数将禁用布局并且不需要视图,因此您可以从Controller Action执行回显,例如:
public function listAction() {
$this->noLayout();
echo json_encode(array('success' => TRUE));
}
这是“我的方式”,如果您发现“更好”或“不同”
,请告诉我