Zend 2: problems with Ajax


Zend 2: problems with Ajax

我创建了一个小函数来测试Zend-Ajax交互。

在我的视图中,我设置了以下代码

<script type="text/javascript">
    var urlform = '<?php echo $this->url('inbox/default', array('controller'=>'messages', 'action'=>'addmessage')); ?>';
</script>
<div onclick="ajaxtest();">Click</div>
然后,我在custom.js文件中创建了以下函数,它已经与布局 相关联
function ajaxtest() {
$.post(urlform, null, function(data) {
    if (data.success) {
        alert('Ok');
    } else {
        alert('Failed');
    }
}, 'json');
}

最后,这是addMessageAction

的代码
public function addMessageAction()
    {
        $request = $this->getRequest();
        $response = $this->getResponse();
        $response->setContent('Zend'Json'Json::encode(array('success'=>1)));
        return $response;
    }

当我点击与javascript函数相关的div时,什么都没有发生,没有显示任何警告。

我错在哪里?它是否依赖于特定的zend设置?

我通过以下方式定义函数来解决这个问题:

var ajaxpost = $.post(urlform2).fail(function() {
    alert("Failed");
})
ajaxpost.done(function(data) {
    var parsed = jQuery.parseJSON(data);
    if (parsed.success == 1) {
        alert('Ok');
}
});