我正在建立一个使用PHP的在线诊所注册系统。该系统具有两个不同的用户组,即患者和诊所。患者将从可用的诊所中进行选择,并在注册时向患者发放唯一的队列号。我已经做了所有这些,但我现在需要知道的是,当他们从患者用户那里收到新的注册时,如何向诊所的用户创建警报?此警报是在不刷新网页的情况下通知诊所新的注册。 / p>
答案 0 :(得分:0)
使用Ajax从服务器获取最新(或未读)通知。可以从登录的诊所用户的浏览器定期发送此Ajax 如果诊所不在线,您也可以通过电子邮件发送给该诊所。
答案 1 :(得分:0)
我会使用“XMLHttpRequest”来执行此操作。在诊所的网页上,我会得到类似这样的javascript:
<script type="text/javascript">
var comm = new Array(), frameTime = 0, regTime = 0;
function startItUp(){
animate();
}
window.requestAnimFrame = (function(){//from Paul Irish
return window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
window.oRequestAnimationFrame ||
window.msRequestAnimationFrame ||
function(callback, element){
window.setTimeout(callback, 1000 / 60);
};
})();
function animate() {
frameTime = Date.now();
if(regTime < frameTime){
comm.push( new getRegistrants() );
regTime = frameTime + 8000;//how often to call the php page and check for new patients
}
}
requestAnimFrame( animate );
}
function getRegistrants(){
this.client = new XMLHttpRequest();
this.client.onload = function () {
var registrantData = this.responseText;
//Parse the registrant data displayed by php page here and make the alert or div popup...
alert(parsedRegistrantName + ' has registered.');
}
this.client.open('POST', 'getRegistrants.php');//This page would have a session that would contain your logged in clinic's ID and would just output registrant(patient) data that you can parse
this.client.send();
}
</script>
然后在诊所的网页上启动它:
<body onload="startItUp();">
注意:这种方法对我来说在几个Web应用程序中运行良好但是,根据我的个人经验,如果您有许多诊所(几百个说)执行XMLHttpRequest,那么如果您有便宜/那么您将遇到服务器资源问题共同主持此事。