首页 > 代码库 > Ajax JavaScript学习总结

Ajax JavaScript学习总结

Ajax,就是异步请求,具体说就是想要更新网页的一部分内容,无需重新加载整个页面,只要发送请求更新局部页面就可以了。

Ajax,不是新语言,只是一种技术

 

Ajax的使用依赖于XMLHttpRequest对象,对象里常用的“成员”包括:open, send,responseText,onreadystatechange

创建XHR对象: var xmlrequest = new XMLHttpRequest();

XHR发送请求: xmlrequest.open("method", "url", true/false);

                     xmlrequest.send([string]);

     open中的参数:

  1. method:get/post,而选其一,表示发送时使用的方法
  2. url:文件在服务器上的位置,或者说是路径
  3. 第三个参数,如果是true的话,就是异步,反之是同步

    send中的参数:

     1. string只有在post请求的时候才可以有,get请求多要传输的内容加在url里面

XHR响应: 传输字符串时,使用:responseText         eg:   var  tmpText = xmlrequest.responseText;

                传输XML格式是,使用:responseXML       eg: var tmpXML = xmlrequest.responseXML;

onreadystatechange:用这个来存储当数据返回的时候要执行的函数;这里要介绍两个量:一个是  readyState,另一个是status。每当readyState的值变化,就会调用

                               onreadystatechange这个函数。

                readyState的值:0—请求未初始化

                                        1—服务器连接已建立

                                        2—请求已接收

                                        3—请求处理中

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

                status的值:“404”:未找到页面

                                  “200”:OK

在w3c上弄来的例子:

xmlhttp.onreadystatechange=function() {      if (xmlhttp.readyState==4 && xmlhttp.status==200)        {            document.getElementById("myDiv").innerHTML=xmlhttp.responseText;        } }

使用回调函数来代替onreadystatechange,写成这样:

function loadXMLDoc(){.... AJAX script goes here ...}</script>

function myFunction(){ loadXMLDoc("ajax_info.txt",function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("myDiv").innerHTML=xmlhttp.responseText; } });}

  

 

Ajax JavaScript学习总结