jQuery json请求和Kohana

问题描述 投票:0回答:3

我正在尝试学习一些jquery以及有关kohana框架的更多信息。好的,所以我写了一个简单的测试脚本来从数据库中获取一些条目。 php的工作方式如下:它以json格式返回行,但我想我的jquery无法正常工作。

json应该返回多行,所以我希望它将所有这些行添加到#chats div中。这是我的jquery代码:

$(document).ready(function() {
  $.getJSON('json/get_chat_entries/1',
    function(data) {
      $('#chats').append('<li>' + data.text + '</li>');
    }
  });
});

获取条目代码是假设要获取数据库中与chat_id相匹配的所有条目。现在写,它似乎只返回第一个条目。这是我的获取条目代码:

function get_entries() {
  $entries = $result = DB::select() - > from('chat_entries') - > where('chat_id', '=', $this - > chat_id) - > execute() - > current();
  return $entries;
}

这是控制器代码:

public function action_get_chat_entries(){
  $chat_id = $this->request->param('id');
  $chat = new Model_Chat($chat_id);
  echo json_encode($chat->get_entries());
}
php jquery ajax json kohana
3个回答
2
投票

只需从->current()方法中删除get_entries()


1
投票

清理了一下:

型号:

public function get_entries()
{
    if (!$this->_loaded)
        return array();

    return DB::select()
        ->from('chat_entries')
        ->where('chat_id', '=', $this->chat_id)
        ->execute($this->_db);
}

控制器:

public function action_get_chat_entries()
{
    $id = $this->request->param('id', FALSE);
    $chat = new Model_Chat($id);

    $this->request->headers['Content-Type'] = 'application/json';
    $this->request->response = json_encode($chat->get_entries());
}

0
投票
$results = DB::select(...)->from(...)->where(...)->execute();
echo json_encode(iterator_to_array($results));
© www.soinside.com 2019 - 2024. All rights reserved.