如何实现实时数据推送

iamcooky 2006-11-08 09:11:46
定时(如1分钟)执行一个函数(该函数获取一些变化的数据),并将其在页面上实时显示出来,应该怎么做?
是否应该每隔1分钟通过页面向服务器发一次请求以得到数据?
具体应该怎么做?请各位高手帮帮忙!
...全文
194 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
meizz 2006-11-08
  • 打赏
  • 举报
回复
if(window.ActiveXObject && (System.ie || !window.XMLHttpRequest))
{
window.XMLHttpRequest = function()
{
var msxmls=['MSXML3','MSXML2','Microsoft'];
for(var i=0;i<msxmls.length;i++)
try{return new ActiveXObject(msxmls[i]+'.XMLHTTP')} catch(ex){}
System._xmlHttp="mz"; throw new Error(System.NOT_SUPPORTED_XMLHTTP);
}
}

var xhr = new XMLHttpRequest();
xhr.open("GET", "abc.aspx", false);
xhr.send(null);

if (xhr.readyState==4) alert(xhr.responseText);
iamcooky 2006-11-08
  • 打赏
  • 举报
回复
问题已解决,结贴
iamcooky 2006-11-08
  • 打赏
  • 举报
回复
谢谢meizz(梅花雪)
我现在使用JavaScript写了一段代码
<script>
function time(){
window.setTimeout("count()",100);
}
function formatFloat(src, pos)
{
return Math.round(src*Math.pow(10,pos))/Math.pow(10, pos);
}
function count()
{
var oHttpReq = new ActiveXObject("Microsoft.XMLHTTP"); oHttpReq.open("POST","refresh.aspx",false); oHttpReq.send();
var oDoc = new ActiveXObject("MSXML2.DOMDocument");
oDoc.loadXML(oHttpReq.responseText);
var count = oDoc.selectSingleNode("//sno").nodeTypedValue;
Form1.TextBox1.value = formatFloat( count , 2 );
}
</script>
……
<INPUT id="btn_compute" onclick="time()" type="button" value="[计数]">

点击按钮后触发time()函数,启动定时器,可以定时发送请求,每发送一次请求,count值会加1,TextBox1能够自动显示计数值
但发现setTimeout不起作用,定时器不能工作,只有每次点击按钮时,TextBox1的值会变化,而不是按照希望的自动变化。请问是怎么回事?

87,918

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧