我使用ajax,在从数据库中获取数据,我已经设法使用ajax显示我的数据,我也想使它,如果有额外的数据库,它将自动添加到我的视图。我怎么能做到这一点,我把我的代码在文件。准备好了,因为每次用户点击我的页面,它会自动显示所有的数据,但我的问题是:当用户查看页面时,数据库中有额外的数据,我怎么能让它实时添加到用户视图中,当它正在查看页面。我正在使用codeigniter。
下面是我的代码:$(document).ready(function() {
show_patients();
});
function show_patients() {
$("#queue").empty();
$.ajax({
url: siteurl+"myclinic/get_patients",
type: "GET",
dataType: "JSON",
success: function(data) {
if(data.length>0) {
for(i=0;i<data.length;i++) {
$('#queue').append('<div class="col-sm-10">'+'<div class="panel-group">'+'<div class="panel panel-info">'+
'<div class="panel-heading">'+'<h4><a data-toggle="collapse" href="#patientinfo'+data[i]['patient_id']+'">'+data[i]['order_num']+' '+data[i]['patient_lname']+', '+data[i]['patient_fname']+' <span class="fa fa-arrow-circle-o-down pull-right"></span></a></h4>'+
'</div><!-- panel-heading -->'+'<div id="patientinfo'+data[i]['patient_id']+'" class="panel-collapse collapse">'+'<div class="panel-body">'+'<div class="row">'+
'<div class="col-sm-4">'+'<button class="btn btn-success btn-sm">Check me up</button>'+'</div><!-- col-sm-4 -->'+'<div class="col-sm-6">'+
'<div class="img-patient">'+'<div class="patient-pic" style="background-image: url('+data[i]['patient_photo']+')"></div>'+'</div><!-- img-patient -->'+'</div><!-- col-sm-6 -->'+'</div><!-- row -->'+
'</div><!-- panel-body -->'+'</div><!-- panel-collapse -->'+'</div><!-- panel -->'+'</div><!-- panel-group -->'+'</div><!-- col-sm-10 -->');
};
}
else {
$('#queue').append('<h4> No Patients in queue </h4>');
}
}
});
}
我不会在生产服务器上运行一些ajax循环,如果有必要的数据是完全准确的,你应该看看套接字,nodeJS和Socket。
这将是完全实时的,很容易安全。
如果你看到实时应用使用socket。nodejs的IO使用起来非常简单你应该在客户端有套接字监听器在服务器端有套接字发送器当数据库发生变化时发送事件