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