Zend 2:Ajax的问题

时间:2014-07-06 18:11:10

标签: javascript php ajax zend-framework zend-framework2

我创建了一个小函数来测试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设置吗?

1 个答案:

答案 0 :(得分:0)

我通过以下方式通过骑乘功能解决了这个问题:

var ajaxpost = $.post(urlform2).fail(function() {
    alert("Failed");
})

ajaxpost.done(function(data) {
    var parsed = jQuery.parseJSON(data);
    if (parsed.success == 1) {
        alert('Ok');
}
});