我正在使用 PHP 建立一个在线诊所注册系统。该系统有两组不同的用户,即患者和诊所。患者将从可用的诊所中进行选择,并在注册时为患者分配一个唯一的队列号。我已经做了所有这些,但是我现在需要知道的是,当诊所的用户收到来自患者用户的新注册时,如何向他们创建警报?此警报是在不刷新网页的情况下通知诊所新注册。
问问题
69 次
2 回答
0
使用 Ajax 从服务器获取最新(或未读)通知。此 Ajax 可以从已登录诊所用户的浏览器中定期发送。
如果诊所不在线,您也可以向诊所发送电子邮件。
于 2013-03-18T15:33:13.327 回答
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,那么如果您有便宜/常见的共享主机,您将遇到服务器资源问题为了这。
于 2013-03-18T16:40:31.850 回答