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

monlee 2010-08-10 09:25:55
如何实现服务器数据记录有更新,客户端弹出提示信息?

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

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

用ASP如何实现这个提示呢?盼高手指教:)
...全文
281 点赞 收藏 14
写回复
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuebin86 2012-10-31
[del][/del]
回复
sunxiuyun7788 2011-12-20
这个问题超级简单,首先用web程序(你指的是asp)写一段程序代码,实现的功能就是最新更新消息列表,列表(便于操作只需要1条内容,但需要有个唯一值,我们一般认为时间是唯一的),客户端只要提取这个页面,每N秒检测一次提取的页面是否相同就OK了
回复
miao1580 2011-07-17
[Quote=引用 6 楼 theforever 的回复:]
实现不是问题,先想明白是不是应该做才是问题。

这样的一个数据表,多个用户操作,总是出现这样的提示,看第一遍觉得可以,多看几遍就觉得很烦人了。之所以建数据库,而不是使用常量数据,不就是了改变数据吗?改变是自然的,不会说也知道。关键是如何处理改变。如果只是提示一下,没什么意义。应该单项单项考虑各个字段的意义,和页面中的数据情况,有些数据,在改变之后,直接在页面中进行更新,这样才对,只不是苍白无力……
[/Quote]up
回复
monlee 2010-08-13
谢谢大家:)
回复
写景 2010-08-11
在本页面开定时器去检查数据库是否更新,建议使用AJAX实现,且注意及时关闭数据库连接,减小服务器压力。
回复
xcgh 2010-08-11
<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框架做。
回复
monlee 2010-08-11
[Quote=引用 2 楼 lzp4881 的回复:]
定时刷新窗口、AJAX或者IFRAME都可以。
[/Quote]
请问是如何实现呢?可以具体说一下吗?
回复
很高兴你能听进去。多方面考虑,是一个成熟的程序员及更上层位置的人的表现。
如果不仅善于学习和应用技术,也善于汲取多方面的开发经验,那你的成长速度就一定能很快。
回复
monlee 2010-08-11
谢谢各位朋友的意见,学习不少,特别是六楼,做东西要考虑用户感受,这点很受益!
回复
lzp4881 2010-08-11
定时刷新窗口、AJAX或者IFRAME都可以。
回复
chenyuzou 2010-08-11
顶六楼
首先WEB不可能实现数据库有更新就从服务器向客户端发送信息。
至于AJAX也是在客户端不停的向服务器发送请求,当检查到有更新时弹出信息。如果发送请求间隔大,一定不是即时弹出消息,间隔小的话而且访问该页面的人又多,又造成不必要的服务器负担。
回复
实现不是问题,先想明白是不是应该做才是问题。

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

做东西,不能只想着做的时候有意思,也要想着用户使用几百次之后的感受,会否对你技术上不必要的花哨还有耐心?
回复
浪潮之巅 2010-08-11
我用的是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返回的数据
//
}
});
}
回复
SNOYC 2010-08-10
这种东西你如果真想实现,恐怕只能考虑AJAX了
建个表,用于存储UPDATA等操作日志
然后AJAX定时检查这个表
回复
发动态
发帖子
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
社区公告
暂无公告