可能要用到ASP.NET和Ajax技术,请务必进来看看,谢谢!
本人有一个难题,如下:
1.我要通过一个设备(考勤卡钟设备),收到员工的打卡记录传到服务器数据库(SQL Server 2000)
2.当我把这个卡钟连接上网络后,就能够自动把卡钟里面的数据上传到数据库.对于数据库来说是一个插入数据记录的动作.
3.请问我怎样利用WEB的无刷新技术,捕捉到卡钟上传数据(即是数据表被插入数据)的动作?把这些数据显示在Web上?
感谢!感谢!!
------解决方案--------------------3.
定时向Web服务器发送请求,刷新页面
------解决方案--------------------捕捉到卡钟上传数据(即是数据表被插入数据)的动作
========
二者,无法精确的同步,当你将定时间隔设定得越短(刷新频率越高),用户看到的数据越”实时“
因为, http 是无连接, 且 http 基于的是 请求/响应 方式,Web 服务器无法将数据”推“(push)给浏览器,只有浏览器进行请求,即主动执行一个拉(pull)的过程
Hope helpful.
------解决方案--------------------楼上几位说得很对,WEB方式下只能定时向服务器发送请求取数据,间隔时间越短则数据越 "实时 ".
但这样每次都要刷新页面在效率上讲还是有点问题的.楼主可以用AJAX技术.
------解决方案--------------------3.请问我怎样利用WEB的无刷新技术,捕捉到卡钟上传数据(即是数据表被插入数据)的动作?把这些数据显示在Web上?
====================================================
在数据库中,你上传数据时,可在数据库中设置一个字段表示你的更新时间(为了效率,建议用一个类或一个静态变量来表示更新时间)。
在页面中,利用AJAX技术(其中有一个timer控件),每隔一定时间就查询一下数据库中的数据更新时间,如果数据比页面中的数据要新,就刷新整个页面.
------解决方案--------------------就是用ajax异步调数据,每隔一段时间调用一次,比如用js中setTimeOut()反复调用,但是不能保证用户看到的决定是最新的