我在Zend-Framework工作。我的布局是这样的:
<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(); ?>
为什么?
答案 0 :(得分:0)
当通过ajax在一些包含中重复调用AjaxLink助手时,我生成了这个助手创建的ajax函数的多个实例。
异步调用时,AjaxLink会造成混淆。
解决方案:不要使用AjaxLink,并创建一个全局且唯一的ajax函数。