提醒功能做不好,无法自动刷新数据,太奇怪了!!

问题描述

问题:做消息提醒功能时,循环调用XMLHttpReq.open("GET",url,true),判断数据库是否有到期的提醒.但发现调用XMLHttpReq.open("GET",url,true)后,每次返回的字串符都一样。如果数据库有更新,有新的提醒,也检测不到。也就是每次调用XMLHttpReq.open,都只返回第一次调用的返回值。请高手指点迷津,不胜感激!以下是代码:varXMLHttpReq;functioncreateXMLHttpRequest(){if(window.XMLHttpRequest){XMLHttpReq=newXMLHttpRequest();XMLHttpReq.overrideMimeType("text/xml");}elseif(window.ActiveXObject){try{XMLHttpReq=newActiveXObject("Msxml2.XMLHTTP");}catch(e){try{XMLHttpReq=newActiveXObject("Microsoft.XMLHTTP");}catch(e){}}}}functionsendRequest(type){createXMLHttpRequest();varurl;url="MsgRemind.aspx";XMLHttpReq.open("GET",url,true);XMLHttpReq.onreadystatechange=processResponse;XMLHttpReq.send(null);}functionprocessResponse(){if(XMLHttpReq.readyState==4){if(XMLHttpReq.status==200){varres=XMLHttpReq.responseText;DisplayHot(res);setTimeout("sendRequest(1)",3000);}}}functionDisplayHot(msg){//处理}

解决方案

解决方案二:
1>每次调用后必须清理缓存2>调用周期不要过短,5秒左右吧3>用setinterval代替settimeout做时间循环
解决方案三:
现在的浏览器为了优化性能,都给HttpRequest对象设置了缓存,频繁调用相同的AJAX请求,会出现Lz遇到的问题
解决方案四:
对了,把setTimeout("sendRequest(1)",3000);这行拿出来,用setinterval代替settimeout做时间循环
解决方案五:
修用POST或者在URL后加一个随机参数
解决方案六:
试试url="MsgRemind.aspx?time=<一个每次都不相同的随机数>";让前台页面每次都以不同的地址去刷新数据。
解决方案七:
引用4楼arecaiz的回复:

修用POST或者在URL后加一个随机参数

对,我忘了服务端也有可能出这种情况
解决方案八:
xmlhttp.onreadystatechange=HttpRequestStatusChanged;xmlhttp.open("GET",requestUrl,true);xmlhttp.setRequestHeader('If-Modified-Since','0');xmlhttp.setRequestHeader("Cache-Control","no-cache");xmlhttp.setRequestHeader("Cache-Control","nut-revalidate");xmlhttp.setRequestHeader("Cache-Control","no-store");xmlhttp.setRequestHeader("Pragma","no-cache");xmlhttp.setRequestHeader("Expires","0");xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=utf-8");xmlhttp.send(null);
解决方案九:
改成post再加个时间戳Math.random()*10
解决方案十:
加时间戳就可以了的

时间: 2024-08-08 01:58:51

提醒功能做不好,无法自动刷新数据,太奇怪了!!的相关文章

SQL实现类似于自动刷新数据的功能

原文:SQL实现类似于自动刷新数据的功能 有时需要在SQL中,定时刷新某张表,比如说是要定时查询某张表的行数,通常做法就是手动的按F5去执行来刷新数据.但是如果这个定时查询历时较长,10分钟,或半小时,手动的话肯定是要崩溃了.貌似SQL没有像应用程序自动刷新的功能,可能是我还不知道有这样的功能,于是就写了一个类似自动刷新数据的脚本,需要手动中止程序的运行,当然也可能写个条件,自动结束语句的执行. 代码: 1 USE AdventureWorks2008R2 2 GO 3 4 WHILE 1=1

图片-实现由无网络连上网络自动刷新数据

问题描述 实现由无网络连上网络自动刷新数据 安卓实现实现由无网络连上网络自动刷新数据 比如当前网络不稳定图片未加载出 网络恢复正常的时候自动 加载出图片 解决方案 http://www.cnblogs.com/renqingping/archive/2012/10/18/Net.html 定时轮询 解决方案二: 网络的变化都是发广播的,监听这个广播,再判断处理不得了... 解决方案三: 根据网络变化的广播,注册一个receiver,判断一个标志位 解决方案四: iOS平台利用 NSURLProt

WPS2009打开数据透视表时实现自动刷新

当WPS2009文档中某一数据透视表的源数据发生变动后,需要对数据透视表进行手动刷新操作,以将变动后的数据更新到数据透视表中.其实我们可以通过设置,在打开WPS2009文档数据透视表时实现自动刷新数据.方法如下. 选中WPS数据透视表中任一单元格,激活"数据透视表"工具栏,然后单击"数据透视表(P)" 按钮旁边的倒三角形图标,在弹出的列表中选择"表格选项"命令,在"数据透视表选项"对话框中勾选"打开时刷新"

如何做页面自动刷新,又不用让用户按回车键来提交数据!

数据|刷新|页面 如何做页面自动刷新,又不用让用户按回车键来提交数据! (01-3-30 240) [豆豆] 于 2001-3-22 15:49:42 加贴在 Joy ASP ↑: 假设叶面中有如下form:<form name=InputDate>...</form> 如果页面要自动刷新,但该页面有Request.Form,那么通常会出现一个提示框,需要用户确定来提交数据,这就不是自动 刷新了.而对于监控或股票显示来说,不要用户干预又非常重要,下面就可以解决该问题: <Sc

Json数据异步绑定到界面的Table并且自动刷新原理及代码

做Winform习惯了,大家都习惯设置datasource这样的写法. 如果想实现页面定时刷新的话,用.net给封装好的updatepanel和timer两个控件实现起来其实挺容易的.这样做加入了很多你不能控制的元素,举个例子说就是:用updatepanel后,你设置的样式很有可能就变了,然后你还需要去调这些.所以还是用一些自己控制性高的代码比较合适. 今天就先从这个updatepanel加timer实现页面自动刷新这个例子来下手吧. 首先来看一下我的一般处理程序,在这个里面,我自己实现的是从数

Json数据异步绑定到界面的Table并且自动刷新原理及代码_AJAX相关

做Winform习惯了,大家都习惯设置datasource这样的写法. 如果想实现页面定时刷新的话,用.net给封装好的updatepanel和timer两个控件实现起来其实挺容易的.这样做加入了很多你不能控制的元素,举个例子说就是:用updatepanel后,你设置的样式很有可能就变了,然后你还需要去调这些.所以还是用一些自己控制性高的代码比较合适. 今天就先从这个updatepanel加timer实现页面自动刷新这个例子来下手吧. 首先来看一下我的一般处理程序,在这个里面,我自己实现的是从数

asp.net 怎么开发自动提醒功能啊,比如向表A添加了一笔记录,会出现一个窗口自动提示呢?

问题描述 asp.net怎么开发自动提醒功能啊,比如向表A添加了一笔记录,会出现一个窗口自动提示呢? 解决方案 解决方案二:我没有做过,但是上回我们是使用一个timer来实现的,就是不断的去读数据库,弄一个提醒表,添加一条就给提醒表加一条信息.用触发器这里.然后读提醒表解决方案三:首先建立观察者模式如果被观察者有动作,服务器标记观察者状态有更改.AJAX定期检查服务器是否有状态变更.-------------PS:目前没有什么好的方案.这个功能很累.解决方案四:哎,楼上的二位大哥能不能清楚一点.

页面自动刷新,又不用让用户按回车键来提交数据

如果页面要自动刷新,但该页面有Request.Form,那么通常会出现一个提示框,需要用户确定来提交数据,这就不是自动刷新了.而对于监控或股票显示来说,不要用户干预又非常重要,下面就可以解决该问题: <Script Language="javascript"><!--var limit="0:60" //定义刷新时间 if (document.images){var parselimit=limit.split(":")pars

导数据 datatable合并-现在要求做一个导出数据功能,根据不同时间导出数据,如下图

问题描述 现在要求做一个导出数据功能,根据不同时间导出数据,如下图 假如现在是1.15号,那么导出的时候也要把11,12月的也一起导出,如果是最后一个月(供热末期),那么就要导出所有,现在我做的是传入四个日期,但是不知道怎么合并,求指教,或者各位有什么其他方法请指教 解决方案 excel用csv格式解析,用脚本读取对应的数据,导出