2010-05-12 95 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