代码之家  ›  专栏  ›  技术社区  ›  Blair Conrad

如何在Zend框架应用程序中以自定义方式实现jQuery?

  •  3
  • Blair Conrad  · 技术社区  · 6 年前

    如何在Zend框架应用程序中以自定义方式实现jQuery。

    • 追加jquery.js 好啊
    • 附加脚本 好啊
    • 向控制器发送POST数据 好啊
    • 处理已发布的数据 好啊
    • 发送“ajaxContext”响应到客户端 现在好吧 (谢谢)

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

    3 回复  |  直到 16 年前
        1
  •  8
  •   Apex    16 年前

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

    希望我们能找到解决办法。退房 full documentation 了解更多详细信息。

        2
  •  2
  •   TJ L    16 年前

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

        3
  •  0
  •   Itay Moav -Malimovka    16 年前

    这应该是一个评论,但不能…
    它与zf+jquery组合无关。
    首先,用一个简单的PHP文件尝试一个所需的协议。没有框架,只有jquery和直接前进的脏PHP。
    哦,别忘了跟踪萤火虫的情况。