используя jquery и kohana - PullRequest
       8

используя jquery и kohana

0 голосов
/ 14 ноября 2010

ну, я действительно никогда не использовал jquery для сбора данных с сервера ... и мои навыки работы с jquery в любом случае довольно ограничены, так что, возможно, я делаю jquery неправильно ... я не уверен

вот мойконтроллер для обработки запросов json

class Controller_Json extends Controller_Template{

public function get_chat_entries(){
    echo json_encode($this->db->get('chat_entries')->result());
}}

и вот мой взгляд, который предназначен для его проверки

<ul id="chats">

</ul>
<script>
   $.getJSON('ajax/test.json', function(data) {
     $('#chats').html('<li>' + data.text + '</li>');
   });
</script>

Ответы [ 3 ]

0 голосов
/ 14 ноября 2010

Я думаю, что вы пропустите готовую упаковку документа. Я бы обернул свой код jquery внутри метода document.ready так: `

<script>
   $(document).ready(function(){
     $.getJSON('ajax/test.json', function(data) {
         $('#chats').html('<li>' + data.text + '</li>');
     });
   }); 
</script>

Я бы также протестировал URL 'ajax / test.json' из своего браузера, чтобы проверить, возвращает ли сервер правильную строку json. Также убедитесь, что объект данных, полученный внутри вашей функции обратного вызова ajax, имеет свойство text.

0 голосов
/ 14 ноября 2010

Я попробовал твой код в моей тестовой базе Kohana. Ваш код JS в порядке. проблема в преобразовании mysql_resoure в json . т.е. "echo json_encode($this->db->get('chat_entries')->result());" Метод result возвращает mysql_resoure, который необходимо преобразовать в массив.

это работает, когда я ставлю вот так ...

echo json_encode($this->db->get('emails')->current());

... внутри списка #chats ul отображается только одно электронное письмо.

PS: электронные письма - моя таблица содержит несколько адресов электронной почты

0 голосов
/ 14 ноября 2010

Я не могу точно сказать, потому что вы не предоставили никакой информации о самой ошибке, но я думаю, что это может решить вашу проблему:

http://de2.php.net/manual/en/function.json-encode.php#95667

Если вы планируете использовать эту функцию для обслуживания файла json, важно отметить, что json, сгенерированный этой функцией, не готов к использованию javascript, пока вы не закроете его в скобках и не добавите «;»до конца.

Приветствия, aefxx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...