`

Ajax原理

    博客分类:
  • Ajax
 
阅读更多
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>User ResponseText With innerHTML</title>
    <script type="text/javascript">
    var xmlHttp;//声明全局XmlHttpRequest
    function createXMLHttpRequest() //创建一个xmlhttprequest
    {
        if(window.ActiveXObject)//IE浏览器把xmlhttprequest看成一个activeX控件。
        {
            xmlHttp= new ActiveXObject("Microsoft.XMLHTTP");
        }
        else//其他浏览器
        {
            xmlHttp= new XMLHttpRequest();
        }
    }
    
    function startRequest()
    {
        createXMLHttpRequest();
        xmlHttp.onreadystatechange=handleStateChange;//设定请求状态改变时,响应的函数
        xmlHttp.open("GET","innerHTML.xml",true);//建立调用,向innerHTML.xml发送请求,innerHTML.xml模拟服务器
        xmlHttp.send();//发送请求
    }
    
    function handleStateChange()
    {
        
        if(xmlHttp.readyState==4)//请求完成,0=未初始化;1=正在加载;2=已加载;3=交互中;4=完成
        {
                       if(xmlHttp.status==200)//请求状态,200为正常返回。
            {
                document.getElementById("results").innerHTML=xmlHttp.responseText;//返回文本绘制页面
            }
        }
    }
    </script>
</head>
<body>
<form action="#">
<input type="button" value="click me" onclick="startRequest();"/>
<div id="results"></div>
</form>
</body>
</html>

 

<table border="1">
<tr>
<th>Activity Name</th>
<th>Location</th>
<th>Time</th>
</tr>
<tr>
<th>WaterSkiing</th>
<th>Dock #1</th>
<th>9:00 AM</th>
</tr>
<tr>
<th>WaterSkiing</th>
<th>Dock #1</th>
<th>9:00 AM</th>
</tr>
<tr>
<th>WaterSkiing</th>
<th>Dock #1</th>
<th>9:00 AM</th>
</tr>
</table>

 

一个XmlHttpRequest与普通的Http请求流程上没有太大的差别,具体分为:
1.open():建立对服务器的调用,这里设定调用是异步还是同步,这里的异步也就是Ajax里面那个大A。设定为同步,处理只有等待服务器返回相应才继续。一般情况下设定为True,这才与XmlHttpRequest初衷相符合。
2.send(content):向服务器发送请求。
3.得到responseText或者responseXml进行处理。
以上代码对各步骤进行了说明。Ajax核心就是处理XmlHttpRequest对象,深入学习,需要对javascript面向对象编程有深入的了解。这样可以把js代码与html完全分离,实现自己的业务逻辑。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics