2010-05-12 5 views
2

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

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

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) 
} 

ответ

3

Почему бы вам просто не обработать все в рамках блока успеха? Как вы, кажется, опросили некоторые данные, я бы также предложил использовать 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 documentation.

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

+0

Спасибо, помощник! Это отличный ответ! Приятно снова поблагодарить :) – Zabs

Смежные вопросы