如何以自定义方式在Zend Framework应用程序中实现jquery?

如何以自定义方式在Zend Framework应用程序中实现jquery。

  • 追加jquery.js 好的
  • 附加脚本确定
  • 将POST数据发送到控制器ok
  • 处理POST数据确定
  • 发送’AjaxContext’回复客户端现在好了 (谢谢)

我第一次使用jquery,我做错了什么?

早期,让Zend在没有完整布局的情况下响应ajax请求的最佳做法是检查通过请求头提供的变量。 根据文档,许多客户端库,包括jQuery,Prototype,Yahoo UI,MockiKit都发送了正确的标题,以便工作。

if($this->_request->isXmlHttpRequest()) { //The request was made with via ajax } 

但是,现代练习以及您可能正在寻找的内容现在使用两个新助手中的一个:

  • ContextSwitcher
  • AjaxContent

这使得这个过程更加优雅。

 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 

希望有一个我们可以发现的解决方法。 查看完整文档以获取更多详细信息。

确保对任何触及DOM的jQuery事件使用$(document).ready() 。 另外,检查javascript / parser错误控制台。 在Firefox中,它位于Tools-> Error Console中。 如果你还没有安装它,我强烈推荐Firebug 。

这应该是评论,不能,但……
它与ZF + Jquery组合无关。
首先尝试一个简单的php文件所需的原型。 没有框架,只是Jquery和直接,脏的PHP。
哦,不要忘记跟踪FireBug会发生什么。