如何以自定义方式在Zend Framework应用程序中实现jquery。
我第一次使用jquery,我做错了什么?
答案 0 :(得分:8)
早期,让Zend在没有完整布局的情况下响应ajax请求的最佳做法是检查通过请求标头提供的变量。根据{{3}}许多客户端库,包括jQuery,Prototype,Yahoo UI,MockiKit都发送了正确的标题,以便工作。
if($this->_request->isXmlHttpRequest())
{
//The request was made with via ajax
}
然而,现代实践,以及您可能正在寻找的东西,现在使用两个新助手之一:
这使得这个过程更加优雅。
class CommentController extends Zend_Controller_Action
{
public function init()
{
$ajaxContext = $this->_helper->getHelper('AjaxContext');
$ajaxContext->addActionContext('view', 'html')
->initContext();
}
public function viewAction()
{
// Pull a single comment to view.
// When AjaxContext detected, uses the comment/view.ajax.phtml
// view script.
}
请注意:这种现代方法要求您请求格式以便触发上下文。它在文档中并不是很明显,当你最终在浏览器中得到奇怪的结果时会有点混乱。
/url/path?format=html
希望我们能找到一种解决方法。查看AjaxContent了解更多详情。
答案 1 :(得分:2)
确保您使用$(document).ready()
来处理任何触及DOM的jQuery事件。另外,检查javascript / parser错误控制台。在Firefox中,它位于Tools->错误控制台中。如果你还没有安装它,我强烈推荐Firebug。
答案 2 :(得分:0)
这应该是评论,不能,但是...... 它与ZF + Jquery组合无关 首先尝试一个简单的PHP文件所需的原型。没有框架,只是Jquery和直接的,脏的PHP 哦,不要忘记跟踪FireBug会发生什么。