ajax技术原理

  众所周知ajax的意思是异步JavaScript和XML(Asynchronous JavaScript and XML)。这项技术的核心就是通过浏览器发出一个异步的HTTP请求来调用服务端的网页或服务。

     要使用ajax技术,得创建一个XMLHttpRequest对象。Internet Explorer把XMLHttpRequest实现为一个ActiveX对象,其他浏览器(如Firefox、Safari和Opera)把它实现为一个本地JavaScript对象,所以为了可以在不同浏览器都可以使用,这个XMLHttpRequest对象得如下面这样创建。

定义XMLHttpRequest对象
<script language="javascript" type="text/javascript">
     var xmlhttp ;
  if (window.ActiveXObject) {
  xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  }
  else if (window.XMLHttpRequest) {
  xmlHttp = new XMLHttpRequest();
  }

</script>

定义完后就可以向服务器发送请求了

向服务器发出请求
function Query(url)
{
    xmlHttp.open("GET", url);第一个参数是请求方法通常是GET或POST,第二个参数是发送的url地址
    xmlHttp.onreadystatechange = updateDetails;//完成后要触发的事件
    xmlHttp.send(null);

}

实例化updateDetails()函数获取服务器返回的数据
function updateDetails()
{

通过判断xmlHttp.readyState属性来进行不同性况的判断

readyState有五种可能的值:
0 (未初始化): (XMLHttpRequest)对象已经创建,但还没有调用open()方法。
1 (载入):已经调用open() 方法,但尚未发送请求。
2 (载入完成): 请求已经发送完成。
3 (交互):可以接收到部分响应数据。
4 (完成):已经接收到了全部数据,并且连接已经关闭。
}

以下是一幅从网上下载来的ajax交互原理图

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章