前段时间负责维护的一个项目提出需求,要求在前台实时刷新服务器的时间,对于我这样的技术小白来说,很值得学习。现记录代码:
<form id=form1runat="server">
<asp:button id=Button1 onclick=Button1_Click runat="server"Text="Button"> </asp:button>利用XMLHTTP(XMLHTTPRequest)对象异步访问服务器获取 数据更新页面(IE/FireFox等支持)<br>实现效果: 动态取得服务器时间<br><br><labelid=lbl></label><script>
function GetXmlHttp()
{
return window.XMLHttpRequest ? new XMLHttpRequest() :new ActiveXObject("Microsoft.XMLHTTP");
}
function GetRequest()
{
var url = "GetServerTime.aspx?name=1&x="+ Math.random();
xmlHttp = GetXmlHttp();
xmlHttp.onreadystatechange = OnReadyStateChange;
xmlHttp.open("GET",url,true);
xmlHttp.send("");
}
function OnReadyStateChange()
{
if(xmlHttp.readyState == 4)
{
document.getElementById("lbl").innerHTML = xmlHttp.responseText +"<br />更新间隔: " + interval + "ms";
}
}
varxmlHttp;
var interval =1000;
var timer =window.setInterval(GetRequest,interval);
</script>
</form>
protected voidPage_Load(object sender,EventArgs e)
{
if (Request.QueryString["name"] != null)
{
Response.Write(DateTime.Now);
Response.End();
}
}
针对我的MVC框架,我把URL指向了一个ActionResult方法:
PublicActionResult Test()
{
Response.Write(DateTime.Now);
Response.End();
Return null;
}
总结:
对开发来说,实现不重要,原理才是根本。