我正在尝试使用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)
}
答案 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。