Zend 1简单聊天框

时间:2013-09-26 20:34:32

标签: jquery ajax zend-framework chat

我正在尝试创建一个简单的ZF 1聊天室应用程序,但在尝试将聊天帖子插入数据库时​​,我收到内部服务器500错误。即使我将它定义为json,来自ajax的数据也将作为text / html发送。正如firebug的网络选项卡所示,我得到了一个响应我的整个HTML代码。有人可以帮助我吗 这是控制器的代码:     

class AjaxController extends Zend_Controller_Action
{

public function init(){
    $contextSwitch = $this->_helper->getHelper('AjaxContext');
    $contextSwitch->addActionContext('index','json')
                   ->initContext();     
}

public function indexAction()
{
   if($this->getRequest()->isXmlHttpRequest()) {
        $data = $this->getRequest()->getPost();
        $chatModel = new Application_Model_DbTable_Chat();
        $chatModel->createPost($data);

        $chatPosts = $chatModel->fetchAll();

        return $this->_helper->json->sendJson($chatPosts);
    }
 }
}

这里是ajax:

$(document).ready(function(){
$('#chat').submit(function(){
    var message = $('#message').val();
    $.ajax({
              type: 'POST',
              dataType: 'json',
              url: '/ajax/index',

              data: { 'message': message },
              success: function(data) {
                $('#outputArea').html(data);
              },
              failure: function(){ alert("does not work"); 
              }
           });  
return false;
  });                  
});

模型:     

class Application_Model_DbTable_Chat extends Zend_Db_Table_Abstract
{

protected $_name = 'chat';
public function createPost($data){
    $insertData = array(
        'messages'  =>  $data['message']
    );
    return $this->insert($insertData);
}

}

和表格(我在布局文件中手动编写):

<form id="chat" action="/ajax/index" method="post">
    <h2>Chat</h2>
    <p id="outputArea"></p>
    <textarea name="message" id="message" cols="31" rows="3"></textarea>
    <input type="submit" value="post a message" name="submit" />
</form>

0 个答案:

没有答案