Задать вопрос
@lamoshnik

Как автоматический подтягивать новые данные PHP-JSON через AJAX в HTML, без перезагрузки страницы?

Необходимо загружать новые сообщения без перезагрузки страницы и перематывать страницу в низ при поступлении нового сообщения, так-как страница подгружается в отдельном фрейме.

Пишу PHP запрос и помещаю данные массива в JSON:

<?php
$result=mysqli_query($dblink, "SELECT * FROM user_messages WHERE user_id='$id' and uid='$uid' or user_id='$uid' and uid='$id'");

  while($row=mysqli_fetch_array($result))
  $resultArray = $result->fetch_all(MYSQLI_ASSOC);
  $resultArray=json_encode($resultArray);
  $decoded = json_decode( $resultArray, TRUE );
?>


Далее подключаю JQUERY
<script src="../js/jq.js"></script>

Затем пишу скрипт для отображения данных JSON в дивы

<script>
$.getJSON("<?php var_dump($decoded); ?>", function(data) {
    var html = '';
    $.each(data, function(key, value){
        html += '<div class="msg_list" style="width:100%">';
        html += '<img src="'+value.photo+'"/>';
        html += '<p class="just">'+value.name+': '+value.msg+'</p>';
        html += '</div>';
    });
$('#conta').html(html);
});
</script>

<div class="conta" id="conta">

</div>


Но сам скрипт не сработал.. Не могу понять, что пишу не так?
  • Вопрос задан
  • 426 просмотров
Подписаться 1 Простой 4 комментария
Пригласить эксперта
Ответы на вопрос 2
AlexMaxTM
@AlexMaxTM
Скрипт должен срабатывать на какое-то событие. Например, по нажатию на какую-то кнопку, или при первичной загрузке страницы, или при прокрутке страницы вниз, или автоматическое циклическое обновление по таймеру.
Ответ написан
Комментировать
usdglander
@usdglander Куратор тега PHP
Yipee-ki-yay
Открываем документацию и смотрим декларацию метода getJSON:
jQuery.getJSON( url [, data ] [, success ] )
Сравните с тем что вы написали и поймите с чего стоит начать искать ошибку.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы