在ZF2中触发AJAX事件时出现服务器错误

时间:2013-08-09 13:52:43

标签: php jquery zend-framework2

当我加载页面时,一切都很好。但是,当我在js文件(在我的公共文件夹中)中调用AJAX事件时,会出现问题,该文件在我的控制器中调用一个动作。

<b>Fatal error</b>:  Uncaught exception 'Zend\View\Exception\RuntimeException' with message 'No RouteMatch instance provided' in C:\xampp\htdocs\test\vendor\zendframework\zendframework\library\Zend\View\Helper\Url.php:86
Stack trace:
#0 [internal function]: Zend\View\Helper\Url-&gt;__invoke()
#1 C:\xampp\htdocs\test\vendor\zendframework\zendframework\library\Zend\View\Renderer\PhpRenderer.php(400): call_user_func_array(Object(Zend\View\Helper\Url), Array)
#2 C:\xampp\htdocs\test\module\Application\view\layout\layout.phtml(25): Zend\View\Renderer\PhpRenderer-&gt;__call('url', Array)
#3 C:\xampp\htdocs\test\module\Application\view\layout\layout.phtml(25): Zend\View\Renderer\PhpRenderer-&gt;url()
#4 C:\xampp\htdocs\test\vendor\zendframework\zendframework\library\Zend\View\Renderer\PhpRenderer.php(507): include('C:\xampp\htdocs...')
#5 C:\xampp\htdocs\test\vendor\zendframework\zendframework\library\Zend\View\View.php(201): Zend\View\Renderer\PhpRenderer-&gt;render(Object(Zend\View\Model\ViewModel))
#6 C:\xampp\htdocs\test\vendor\zendframework\ze in <b>C:\xampp\htdocs\test\vendor\zendframework\zendframework\library\Zend\View\Helper\Url.php</b> on line <b>86</b><br />

这是我的js:

$('.expand, .ccid, .name').click(function(){    
    var CCID = $(this).parent().attr('id');
    CCID = parseInt(CCID);

    if($.inArray(CCID,$expanded) > -1){
        foldin(CCID);
    } else {
        $.post('expand', {           // Call to "expand" action in controller
            id: CCID
        },function(data){
            if(data.hasOwnProperty('info')){   
                expand(data.info);
            } else {
                console.log('Can\'t find customer info.');
            }
        },'json'); 
    }
});

下面是第25行og我的layout.phtml:

if($this->url() !== '/auth'){
    echo 'stuff';
}

我把它放在那里检查用户是否在登录页面上,所以它不会回显某个div,如果它们是。可能有一种更好的方法可以做到这一点,我不知道,但我仍然不明白为什么它在我解雇AJAX事件时给我带来了麻烦。它也非常不一致。有时这个事件可以运作很长时间,然后它会突然发出上述错误。

任何人都知道这是关于什么的?该事件与渲染layout.php有什么关系?

0 个答案:

没有答案