现在的位置: 首页 > 综合 > 正文

ASP.NET AJAX客户端编程之旅(搜这个标题有一个系列的好文章)

2012年06月27日 ⁄ 综合 ⁄ 共 1114字 ⁄ 字号 评论关闭

window.ActiveXObject,返回一个bool值,看浏览器是否支持ActiveX控件

 

3//针对不同浏览器,获取XMLHttpRequest对象
 4function CreateXMLHttpRequest()
 5{
 6    if(window.ActiveXObject)
 7    {
 8        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
 9    }

10    else
11    {
12        xmlHttp=new XMLHttpResquest();
13    }

14}

 

16//单击btnSayHello时调用的JS函数
17function btnSayHello_onClick()
18{
19    CreateXMLHttpRequest();
20    xmlHttp.onreadystatechange=HandleStateChange;
21    xmlHttp.open("POST","Output.aspx",true);
22    xmlHttp.send(null);
23}

24
25//回调函数
26function HandleStateChange()
27{
28    if(xmlHttp.readyState==4)
29    {
30        if(xmlHttp.status==200)
31        {
32            document.getElementById("result").innerHTML = xmlHttp.responseText;
33        }

34    }

35}

 

下面我对这个代码进行一个简要的解释。       首先,xmlHttp是一个全局变量,它被初始化后,将负责整个Ajax应用的核心。CreateXMLHttpRequest方法用来得到 XMLHttpRequest对象的实例,这里我们注意到,由于不同浏览器的获取对象方法不同,这里首先要检测浏览器类型,然后使用相应方法获得对象,十 分麻烦。btnSayHello_onClick是一个核心函数,当按钮被单击时,将调用这个函数。它首先初始化xmlHttp,然后指定回调函数为 HandleStateChange,最后异步发布POST请求,调用Output.aspx页面。最后,HandleStateChange作为回调函 数,在xmlHttp的请求状态发生改变时将自动被调用。而在这个函数中,当状态正常时,将id为“result”的DIV的内容设为调用结果。即 Output.aspx输出的字符串

抱歉!评论已关闭.