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

Php 如何以自定义方式在Zend Framework应用程序中实现jquery?,php,jquery,zend-framework,Php,Jquery,Zend Framework,如何以自定义方式在Zend Framework应用程序中实现jquery 追加jquery.jsok 追加脚本ok 向控制器发送POST数据ok 处理发布的数据ok 发送“AjaxContext”回复到客户端现在可以了(谢谢) 我第一次使用jquery,我做错了什么?早期,让Zend在没有完整布局的情况下响应ajax请求的最佳实践是检查通过请求头提供的变量。根据包括jQuery、Prototype、Yahoo UI、MockiKit在内的许多客户端库,所有这些库都会发送正确的头文件,以使其正

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

  • 追加jquery.jsok
  • 追加脚本ok
  • 向控制器发送POST数据ok
  • 处理发布的数据ok
  • 发送“AjaxContext”回复到客户端现在可以了(谢谢)

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

早期,让Zend在没有完整布局的情况下响应ajax请求的最佳实践是检查通过请求头提供的变量。根据包括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

希望我们能找到解决办法。查看以了解更多详细信息。

这应该是一条评论,但不能…
它与ZF+Jquery组合无关。
首先,用一个简单的php文件尝试一个原型。没有框架,只有Jquery和直接的脏php。

哦,别忘了跟踪FireBug的情况

确保对任何涉及DOM的jQuery事件使用
$(document).ready()
。另外,请检查javascript/解析器错误控制台。在Firefox中,它位于工具->错误控制台中。如果您还没有安装,我强烈推荐。

感谢您的提示,上下文确实是整个故事的重要组成部分,但现在我遇到了其他问题……感谢代码示例,我已经做到了这一点,但您可以从我的编辑中看到,我现在有另一个问题,这是由于使用AjaxContent造成的,也许我可以试试你的“旧”方法。。我在jQueryUI选项卡中遇到了类似的ajax问题。ajax上下文似乎无法解决这个问题。。但是我还没有试过旧的方法。找到了。。您必须请求一种格式。真的让人觉得很优雅。我的问题肯定与ZF+Jquery有关