问题描述
后台定义一个string[],这个数据每隔一个小时更新一次,前台是<%=string[10]%>这样接受的,现在想让前台定时更新后台string[]的数据,但是不刷新前台的页面,请问这样如何使用?AJAX么?请高手简单示例一下。
解决方案
解决方案二:
前台设置个定时执行的js方法,通过ajax取得后台更新后的数据,然后更新前台的数据.
解决方案三:
ajax如何获得后台指定的数据?
解决方案四:
首先必须确认,你后台的string[]是静态的么?不是静态的根本无法保存的如果是静态,就可以做了,用System.Timers.Timer类申明一个计时器(要在Global.asax.cs文件中申明,这是全局应用程序类,只有这个才不会被销毁):在Global类申明成员:System.Timers.Timertimer1=newSystem.Timers.Timer();在Application_Start事件中添加代码:timer1.Interval=1800*1000;//时间间隔半小时timer1.Elapsed+=timer1_Tick;//触发函数timer1.Start();//计时开始然后在timer_Tick中写更新代码就可以了这个定时器是系统定时器不依赖界面,前面那些说的什么在js中声明定时器,全是胡说八道,别人把页面关了就没用了
解决方案五:
楼上说的是后台定时更新数据,这个我知道怎么做,我网站做得少,就是想知道后台更新的数据如何传递到前台,并且前台不需要刷新就可以接收到并且显示。谢谢楼上两位了
解决方案六:
聊天室的功能类似吧.定时读取显示.
解决方案七:
我就贴AjAx请求数据的代码:前台代码(自己写一个按钮调用函数):functionclickEvent(){varstr="AJAX";//要往后台发送的字符串,可以传第你的请求参数varxmlhttp;if(window.XMLHttpRequest)//codeforIE7+,Firefox,Chrome,Opera,Safarixmlhttp=newXMLHttpRequest();elsexmlhttp=newActiveXObject("Microsoft.XMLHTTP");xmlhttp.onreadystatechange=function(){if(xmlhttp.readyState==4&&xmlhttp.status==200)//表示提交已完成{alert(xmlhttp.responseText);//弹出从后台传递过来的值}}xmlhttp.open("post","other.aspx?str="+str+"&type=code",true);//str为传递的字符串,type为设置的标志xmlhttp.send();}后台代码:protectedvoidPage_Load(objectsender,EventArgse){if(Request.QueryString["type"]=="code")//根据在url中设置的标志判断是否是匹配的回传{stringtheString=Request.QueryString["str"];//theString即获取到的字符串,即前台上传的stringcodes="1,2,3,4,5";//要写往前台的字符串,你可以调自己的方法获取Response.Write(codes);//将获取到的字符串再写往客服端Response.End();}
解决方案八:
我发的帖子,第一次总是出不来呢?
解决方案九:
可以考虑使用Ajax扩展里里的Timer控件,页面看不出刷新来
解决方案十:
就用javascript写个定时器,每隔多长时间,调用一次ajax方法,保证页面不会刷新的。
解决方案十一:
前台js定时器:vartimer1=setInterval(function(){},60000);//参数为触发函数与间隔时间
解决方案十二:
解决方案十三:
publicpartialclassindex:System.Web.UI.Page{publicstring[]strWeibo=newstring[15];publicstringreWeibo="";publicSystem.Timers.Timertm1;protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){tm1=newSystem.Timers.Timer(20000);tm1.Elapsed+=newElapsedEventHandler(geisinaweibo);tm1.Start();//geisinaweibo();if(Request.QueryString["type"]=="code")//根据在url中设置的标志判断是否是匹配的回传{stringtheString=Request.QueryString["str"];//theString即获取到的字符串,即前台上传的Response.Write(reWeibo);//将获取到的字符串再写往客服端Response.End();}reWeibo在函数geisinaweibo中赋值,但是在Response.Write(reWeibo)中reWeibo一直是空,进入到geisinaweibo看到reWeibo是有值的,请问我该怎么改?
解决方案十四:
高手帮一下吧,这个事向前台传值的过程,geisinaweibo()每隔30秒重新获取reWeibo的值,前台的js代码如下:<scripttype="text/javascript">clickEvent();functionclickEvent(){varstrs=newArray();varstr="AJAX";varxmlhttp;if(window.XMLHttpRequest)xmlhttp=newXMLHttpRequest();elsexmlhttp=newActiveXObject("Microsoft.XMLHTTP");xmlhttp.open("GET","index.aspx?str="+str+"&type=code",true);xmlhttp.send();xmlhttp.onreadystatechange=function(){if(xmlhttp.readyState==4&&xmlhttp.status==200){//alert(xmlhttp.responseText);strs=xmlhttp.responseText.split("+");//for(i=0;i<strs.length;i++){//alert(strs[i]);//}document.getElementById('a0').innerHTML=strs[0];document.getElementById('a1').innerHTML=strs[1];document.getElementById('a2').innerHTML=strs[2];document.getElementById('a3').innerHTML=strs[3];document.getElementById('a4').innerHTML=strs[4];document.getElementById('a5').innerHTML=strs[5];document.getElementById('a6').innerHTML=strs[6];document.getElementById('a7').innerHTML=strs[7];document.getElementById('a8').innerHTML=strs[8];document.getElementById('a9').innerHTML=strs[9];document.getElementById('a10').innerHTML=strs[10];}}$tt=setTimeout("clickEvent()",30000);}</script>
解决方案十五:
大家看看帮下好么?
解决方案:
定时器+ajax
解决方案:
首先,不看好你这个定时器,页面对象的生存期很短的,只有在前后台数据交互时才存在,你这个定时器会随着页面对象生灭,根本没办法一直运行;还有根据你的帖子,数据是保存在一个string[]中,必须确认这个string[]是静态的,不然也没有办法保存数据请参考我前面的回答
解决方案:
不太会,学习中
解决方案:
引用10楼的回复:
前台js定时器:vartimer1=setInterval(function(){},60000);//参数为触发函数与间隔时间
这个加哪啊
解决方案:
JavascriptSetInternal方法定时向服务端发起Ajax请求=。=