Проверить входящие сообщения динамически с ajax? - PullRequest
1 голос
/ 12 ноября 2010

Я почти закончил кодировать сайт, который я начал несколько месяцев назад.У меня есть готовая основа, но я хочу добавить в нее некоторые новые функции, чтобы сделать ее более быстрой и добавить к ней немного информации.

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

Как я могу использовать ajax или jquery для вывода количества непрочитанных сообщений без необходимости запроса новой страницы?

спасибо

Ответы [ 3 ]

3 голосов
/ 12 ноября 2010

Вы можете установить синхронизированный запрос, например так:

var element = $('...');

// new get request every minute - 60*1000ms
var interval = setInterval( function(){
    element.load('/phpfile.php');
}, 60000 );
2 голосов
/ 12 ноября 2010

В вашем /phpfile.php Выведите результаты и закодируйте массив в формат json. Например, у вас может быть запрос

<?php
    include 'config.php';
    include 'opendb.php';        
    $query  = "SELECT message FROM messages";
    $result = mysql_query($query);
    $jarray = array();
    while($row = mysql_fetch_array($result, MYSQL_ASSOC))
    {
        $jarray[] = array("message"=>$row['message']);           
    }
    echo json_encode($jarray);        
    include 'closedb.php';
?>

Получить массив JSON с помощью AJAX.

  var messagesContainer = $('messages'); 
  $.getJSON('phpfile.php',function(data)
    {
      $.each(data, function(i,stuff){
          $("<div class='msg'>"+stuff.message+"</div>").prependTo(messagesContainer);
      }

    })
0 голосов
/ 12 ноября 2010

Создайте сценарий, который отображает только количество непрочитанных сообщений (без какого-либо другого HTML), а затем используйте jQuery для его получения:

$('#span_with_numer_of_messages').load('your_unread_messages_script.php');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...