var xmlHttp = false//定义一个变量用来存放XMLHttpRequest对象
//检测用户名是否唯一的请求
function createXmlHttpRequest()
{
if(window.ActiveXObject)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP")
}
else if(window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest()
}
if(!xmlHttp &&typeof XMLHttpRequest != 'undefined')
{
xmlHttp = new XMLHttpRequest()
}
}
/*=====================动态改变页面信息开始===================================*/
//动态改变页面
function dynamicUpdate()
{
createXmlHttpRequest()
var URL = "../ServerPage.aspx?task=reset"
xmlHttp.open("GET",URL,true)
xmlHttp.onreadystatechange = dynamicUpdateInfo
xmlHttp.send(null)
}
//动态改变页面回调函数
function dynamicUpdateInfo()
{
if(xmlHttp.readyState == 4)
{
if(xmlHttp.status == 200)
{
setTimeout("pollServer()",5000)
}
}
}
/********************后台************************/
protected void Page_Load(object sender, EventArgs e)
{
string task = Request.QueryString["task"].ToString()
//处理
}
跟普通的函数的回调没区别。就是后台响应了数据以后自动被调用的函数。
举个例子来模拟一下ajax,有这么一个函数getUrl,它接收两个参数,一个是请求的地址url,一个是响应成功后的回调func(假设1秒钟后响应):
function getUrl(url, func) {alert("正在请求地址:" + url)
window.setTimeout(func, 1000)
}
可以这么调用:
getUrl("/test",function(){alert("响应成功!")
})