2010-05-12 67 views
2

我正在嘗試使用jQuery(最新版本)& ajax來每隔x秒輪詢一次mysql數據庫,post.php在表上執行一個簡單的搜索查詢並限制爲1行。 (例如,SELECT ID FROM TABLE LIMIT 1)使用jQuery/Ajax的投票數據庫

我已經有一些其他的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) 
} 

回答

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 2010-05-12 14:59:37