好比你留言了,别人回复你的留言,然后你在自己的空间看到该留言提示信息。还有就是像QQ空间个人中心里的好友动态。我想应该不是通过新建一个表保存的吧。
请问大致的解决思路。能有简单的demo最好,留地址也行。
应该要建立TABLE吧.
这个信息应该是通过一个表的形式来保存的,因为你可以查看今天之前的一些数据,所以这样子的他一定是有过保存的,不然是没办法的。
建立一张表,专门存储这样的提示消息,设置一个外键和消息关联。
我实现的方法大概有两种
一是:在页面内加入对数据库的定时触发即可
JS一般需要XMLHttpRequest, 比如
var Msg_Request;
window.onload = function() {
//对IE7 FF 有效
try {
Msg_Request = new XMLHttpRequest();
}
catch (e) {
//继续尝试 IE6
try {
Msg_Request = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {
alert("您当前的浏览器不支持异步通讯!");
}
}
}
// 发送(你只要定时触发这个就行)
function Msg(Value) {
Msg_Request.open("GET", "UserMsg.aspx?Value=" + escape(Value), true);
Msg_Request.onreadystatechange = _PastBackDo;
Msg_Request.setRequestHeader("content-type", "text/xml;charset=GB2312");
Msg_Request.send(null);
}
//触发后返回值(比如更新你所指定的消息DIV区域等)
function _PastBackDo() {
if (Msg_Request.readyState == 4) {
document.getElementById("Msg_DIV").innerHTML = LoginName_Request.responseText;
} else {
document.getElementById("Msg_DIV").innerHTML = "请求中...";
}
}
定时可以用
setTimeout(...);
OR
setInterval(Msg(document.getElementById("...").value) ,1000);
这里的 UserMsg.aspx需要根据用户URL请求判断该是查询数据还是返回结果,存储等
二是:ScriptManager --- 》 Timer 触发事件这个比较容易实现
专门的表,还可以对消息分类,这个表还需要定期清清掉一些旧记录,防止记录过多