【问题标题】:How can I implement jquery in my Zend Framework application in a custom manner?如何以自定义方式在 Zend Framework 应用程序中实现 jquery?
【发布时间】:2010-10-08 14:11:46
【问题描述】:

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

  • 附加 jquery.js 好的
  • 附加脚本好的
  • 向控制器发送 POST 数据ok
  • 处理 POST 数据好的
  • 发送“AjaxContext”响应客户端现在可以(谢谢)

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

【问题讨论】:

    标签: php jquery zend-framework


    【解决方案1】:

    在早期,让 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了解更多详情。

    【讨论】:

    • 感谢这个提示,上下文确实是整个故事的重要组成部分,但现在我遇到了其他问题......
    • 感谢代码示例,我已经做到了,但正如您从我的编辑中看到的那样,我现在遇到了另一个由使用 AjaxContent 引起的问题
    • 也许我会试试你的“老”方法
    • 是的。我在 jquery ui 选项卡中遇到了与 ajax 类似的问题。 ajax 上下文似乎没有解决它.. 但我还没有尝试过旧方法。
    • 找到了.. 你必须请求格式。真正带出优雅。看看是否有办法强制默认。
    【解决方案2】:

    这应该是评论,但现在还不行……
    与ZF+Jquery组合无关。
    首先用一个简单的 php 文件尝试你需要的原型。没有框架,只有 Jquery 和直截了当的脏 php。
    哦,别忘了跟踪 FireBug 发生的事情。

    【讨论】:

    • 我的问题肯定和ZF+Jquery有关
    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多