Опрос базы данных с использованием jQuery / Ajax - PullRequest
2 голосов
/ 12 мая 2010

Я пытаюсь использовать jQuery (последняя версия) и ajax для опроса mysql db каждые x секунд, post.php выполняет простой поисковый запрос к таблице и ограничивает 1 строку. (например, SELECT ID FROM TABLE LIMIT 1)

У меня есть некоторый другой код jQuery UI (использующий v1.8), который отображает некоторые модальные / диалоговые окна на экране, проще говоря, если post.php возвращает что-то из БД, мне нужно инициализировать диалоговое окно для всплывающего окна экран. Я сделал все всплывающие окна, у меня просто проблемы с объединением всех этих битов - я добавил псевдокод того, как я ожидаю, что это сработает. Заранее спасибо

var refreshId = setInterval(function(){
    $.ajax({
       type: "POST",
       url: "post.php",
       data:  "",
       success: function(html){
         $("#responsecontainer").html(html);
       }
   });  
}, 2000 );s

/* proposed pseudocode */
if (ajax is successful & returns a db row to #responsecontainer) {
   show jQueryUI modal (done this bit already fortunately)
}

1 Ответ

3 голосов
/ 12 мая 2010

Почему бы вам просто не разобраться со всем в блоке успеха? Поскольку вы, похоже, запрашиваете некоторые данные, я бы также предложил использовать JSON .

var refreshId = setInterval(function(){
    $.getJSON('post.php', function(data){
        if (data.message.length > 0) {
            $("#responsecontainer").html(data.message);
            /* your jquery ui stuff here */
        }
    });  
}, 2000);

Подробнее см. jQuery getJSON документация .

Примечание: POST должен использоваться для отправки данных, GET для получения данных. Если вы хотите знать, почему и какие-то дополнительные сведения, вы можете взглянуть на REST .

...