ajax工作原理

Ajax(asynchronous JavaScript and xmlhttprequest)就是异步的JavaScript和XMLHttprequest.

Ajax是一种用于创建快速动态网页的技术,无需加载整个网页,只更新部分网页

那么,什么是XMLHttpRequest呢?

中文可以解释为扩展超文本传输请求。XMLHttpRequest对象用于在后台与服务器交换数据。

它的属性有

onreadyStatechange:每次状态改变所触发事件的事件处理程序

responseText:从服务器进程返回的字符串形式

responseXml:从服务器进程返回的DOM兼容的文档数据对象

status:从服务器返回的数字代码。(200,404。。。)

status Text:伴随状态码的字符串信息

readyState:对象状态值

XMLHttpRequest的状态:

0 已创建对象,但未初始化(没有open)

1 已初始化(open),但未调用send方法

2 已调用send()

,但目前状态和http头未知

3 已接收部分数据,但响应及http头不全

4 数据接收完成,此时可以通过responseText和responseXml获取完整回应

使用AJAX:根据浏览器的不同创建xmlhttprequest对象,调用open方法,用send发送请求给ajax引擎,最后执行完毕后将结果返回给客户端。

function getData(){
        //创建ajax引擎对象
        var ajax;
        if(window.XMLHttpRequest){
            ajax=new XMLHttpRequest();
        }else if(window.ActiveXObject){
            ajax=new ActiveXObject(msl12.XMLHTTP)
        }
        //复写onreadystatechange函数
        ajax.onreadystatechange=function(){
        //判断ajax状态码
        if(ajax.readystate==4){
             //判断响应状态
        if(ajax.status==200){
             //获取响应
             var result=ajax.responseText;
             //获取元素对象
             var show =document.getElementById("show");
             show.innerHTML=result;
        }else if(ajax.status==404){
            var show =document.getElementById("show");
             show.innerHTML="请求资源不存在";
        }else if(ajax.status==500){
            var show =document.getElementById("show");
             show.innerHTML="服务器错误";
        }
            
             }
         }
        //发送请求
        ajax.open("get","",true);//open("get/post","请求地址","(async:)true/false")
        ajax.send(null);//请求的东西拼在get后面
        }
       

 

posted @ 2018-11-08 19:35  wkkke  阅读(73)  评论(0)    收藏  举报