使用jQuery / Ajax轮询数据库

时间:2010-05-12 11:12:36

标签: javascript jquery ajax modal-dialog

我正在尝试使用jQuery(最新版本)& ajax每隔x秒轮询一次mysql数据库,post.php在表上执行简单的搜索查询并限制为1行。 (例如SELECT id FROM TABLE LIMIT 1)

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

1 个答案:

答案 0 :(得分: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