0

我在 Zend 框架中工作。我有这样的布局:

<html>
    <head>
        <script>
            function myBeforeSendCallbackJsFunc() {$('#content-loading').show();}
            function myCompleteCallbackJsFunc() {$('#content-loading').hide();}
        </script>
    </head>
    <body>
        <div id="menu">
            <?php
            echo $this->ajaxLink("<li>MENU 1</li>", '/controllertest/actionindex', array('update' => '#content', 'beforeSend' => 'myBeforeSendCallbackJsFunc();', 'complete' => 'myCompleteCallbackJsFunc()'), array('format' => 'ajax'));
            ?>
        </div>
        <div id="content">
        </div>
        <?php echo $this->jQuery()->enable()->uiEnable(); ?>
    </body>
</html>

在这种情况下,ajaxLink 函数可以完美运行。我触发了 MENU 1,'#content' 得到了 '/controllertest/actionindex' 内容。但是,如果在“/controllertest/actionindex”中存在 ajaxLink 函数,它只有在我再次包含时才有效:

<?php echo $this->jQuery()->enable()->uiEnable(); ?>

为什么?

4

1 回答 1

0

当通过 ajax 在某些包含中重复调用 AjaxLink 助手时,我正在生成由该助手创建的 ajax 函数的多个实例。

当异步调用时,AjaxLink 会造成混乱。

解决方法:不要使用AjaxLink,创建一个全局唯一的ajax函数。

于 2013-04-13T14:21:47.733 回答