我正在尝试学习如何在 zf 1 中使用 ajax,但我遇到了麻烦。我有一个简单的表单,我将它的值发布到控制器索引,然后想要返回我发送的消息并在 div 中使用 class="show-msg" 输出,但它似乎没有工作. 我有一个 php 错误,说未定义索引“消息”。有人可以帮帮我。我的jQuery函数:
$(document).ready(function(){
$("#form").submit(function() {
var message = $('#login').val();
$.post('/index',{'message':message},function(data){
//console.log(data);
$('.show-msg').html(data)
});
return false;
});
});
然后我的控制器
public function init()
{
$this->_helper->layout()->setLayout('admin');
$contentSwitch = $this->_helper->getHelper('AjaxContext');
$contentSwitch->addActionContext('ajax',array('json'))
->initContext();
}
public function indexAction()
{
$form = new Application_Form_Test();
$this->view->form = $form;
$form->setAction('index')
->setMethod('post');
$myArrayofData = array('a','b','c');
if($this->_request->isXmlHttpRequest()){
$this->_helper->layout->disableLayout();
$this->_helper->viewRenderer->setNoRender(true);
$msg = $this->_request->getPost();
echo $msg['message'];
}
表单正在通过模型创建框架的方式,并且它的操作和方法都可以。正在发送请求,但作为响应,获取完整的 html 页面源代码而不是 json 格式。
注意:已编辑