AJAX = 异步 JavaScript 和 XML

ajax是一种用于创建快速动态网页的技术,

可以在不重新加载整个网页的情况下,对网页的局部进行更新。

 

创建 XMLHttpRequest对象

var xhr = new XMLHttpRequest(); // 不支持IE5 IE6;

var xhr = new ActiveXObject('Microsoft.XMLHTTP')  // 支持IE5 IE6写发;

 

向服务器发送请求

    使用XMLHttpRequest 对象的open() 和 send() 方法;

        open(method,url,async)

               规定了请求的类型,url ,以及是否异步处理请求。

                      method:请求的类型;GET 或 POST

                      url: 文件的服务器上的位置

                       asy: true(异步)或 false(同步)

       send(string) 将请求发送到服务器

              string:仅用于POST请求    

 

GET 与 POST

与POST相比,GET 更简单也更快,并且在大部分情况下都能用。

但是在下列情况中,使用POST请求;

    无法使用缓存文件(更新服务器上的文件或数据)

    向服务器发送大量数据(POST 没有数据量限制)

    发送包含未知字符串的用户输入时,post 比 get 更加稳定可靠

 

服务器响应

    如需获得来自服务器的响应,使用XMLHttpRequest对象的responeText 或 responseXML

    responseText 获取字符串形式的响应数据

    responseXML 获得XML形式的响应数据

 

onreadstatechange 事件

    当请求被发送到服务器时,需要执行一些基于响应的任务。

    每当readState改变时,就会触发onreadystatechange事件。

    readyState 属性存有XMLHttpRequest的状态信息,从0到4;

        0:请求未初始化

        1:服务器链接建立

        2:请求已接受

        3:请求处理中

        4:请求已完成,且响应已就绪

    state

         200:'ok'

         404:未找到页面

<script>
    function loadXMLDoc(){
        var xmlhttp;
        if(window.XMLHttpRequest){
               xmlhttp = new XMLHttpRequest();
    }else{
               xmlhttp = new ActiveXOBject('MIcrosoft.XLMHTTP');
   }
   xmlhttp.onreadystatechange = function(){
              document.getElementById('myDiv').innerHTML = xmlhttp.respondeText;
}
xmlhttp.open('GET','/try/ajax/ajax_info.txt',true)
xmlhttp.send();
}
<div id = 'myDiv'><h2>使用ajax修改文本内容</h2></div>
<button type  = 'button' onclick = 'loadXMLDoc()'>修改的内容</button>
</script>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

   

 

posted on 2018-01-05 23:58  sgaogao  阅读(82)  评论(0)    收藏  举报