日期:2014-05-16  浏览次数:21100 次

如何实现服务器数据记录有更新,客户端弹出提示信息
如何实现服务器数据记录有更新,客户端弹出提示信息?

例如某人在一个客户端UPDATA服务器数据库记录,而在另外一个客户端就能收到相关的提示说数据有更新那样,

这个数据库没有操作限制,也没有用户登录窗口,只是有多个客户端可操作这个数据库。

用ASP如何实现这个提示呢?盼高手指教:)
------解决方案--------------------
这种东西你如果真想实现,恐怕只能考虑AJAX了
建个表,用于存储UPDATA等操作日志
然后AJAX定时检查这个表

------解决方案--------------------
定时刷新窗口、AJAX或者IFRAME都可以。
------解决方案--------------------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>JS定时刷新</title>


<script>
<!--
var limit="0:10"   ///10秒/////
if (document.images){
var parselimit=limit.split(":")
parselimit=parselimit[0]*60+parselimit[1]*1
}
function beginrefresh(){
if (!document.images)
return
if (parselimit==1)
window.location.reload()
else{
parselimit-=1
curmin=Math.floor(parselimit/60)
cursec=parselimit%60
if (curmin!=0)
curtime=curmin+"分"+cursec+"秒后重刷本页!"
else
curtime=cursec+"秒后重刷本页!"
window.status=curtime
setTimeout("beginrefresh()",1000)
}
}
window.onload=beginrefresh
//-->
</script>

</head>

<body>

JS定时刷新,10秒!
</body>
</html>
代码,ajax部分可以上网下载ajax框架做。
------解决方案--------------------
我用的是jquery
$(document).ready(function(){
//定时刷新用户聊天记录
window.setInterval(function (){getMessage();}, 1000);
});
//获取聊天内容
function getMessage(){
$.ajax({
type: "get",
cache:false,
dataType:"json",
url: "index.asp",
data: "Action=fetch",
success: function(msg){
//此处处理msg返回的数据
                        //
}
});
}

------解决方案--------------------
实现不是问题,先想明白是不是应该做才是问题。

这样的一个数据表,多个用户操作,总是出现这样的提示,看第一遍觉得可以,多看几遍就觉得很烦人了。之所以建数据库,而不是使用常量数据,不就是了改变数据吗?改变是自然的,不会说也知道。关键是如何处理改变。如果只是提示一下,没什么意义。应该单项单项考虑各个字段的意义,和页面中的数据情况,有些数据,在改变之后,直接在页面中进行更新,这样才对,只不是苍白无力地说一句“有变化”。如果是不值得在页面里进行更新的,那么,是否有变化,似乎也不重要了,也就用不着提示了。

做东西,不能只想着做的时候有意思,也要想着用户使用几百次之后的感受,会否对你技术上不必要的花哨还有耐心?
------解决方案--------------------
顶六楼
首先WEB不可能实现数据库有更新就从服务器向客户端发送信息。
至于AJAX也是在客户端不停的向服务器发送请求,当检查到有更新时弹出信息。如果发送请求间隔大,一定不是即时弹出消息,间隔小的话而且访问该页面的人又多,又造成不必要的服务器负担。
------解决方案--------------------
在本页面开定时器去检查数据库是否更新,建议使用AJAX实现,且注意及时关闭数据库连接,减小服务器压力。