Javascript基础(8)Ajax介绍

1、XMLHttpRequest对象(在IE5 和 IE6中是 ActiveXObject对象):
a. 作用:用来与后台服务器交换数据;
b. 创建:

        variable = new XMLHttpRequest();                    //一般浏览器内建的对象
        variable = new ActiveXObject("Microsoft.XMLHTTP");  //IE6以下

c. 向服务器发送请求:
XMLHttpRequest 对象有 open() 和 send()两个方法;
语法是:

        open(method,url,async) 如: xmlhttp.open("GET","ajax_info.html",true);
        send("字符串");

举例:

        xmlhttp.open("GET","demo_get2.html?fname=Henry&lname=Ford",true);
        xmlhttp.send(); //这是用get方法的

        xmlhttp.open("POST","ajax_test.html",true);
        xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
        xmlhttp.send("fname=Henry&lname=Ford");  //这是用post方法的

区分:
第三个参数 async 用来设置 是否异步执行请求,只有true 和 false 两种
当使用 async=true 时,请规定在响应处于onreadystatechange事件中的就绪状态时执行的函数
当使用 async=false 时,无需编写 onreadystatechange 函数 - 把代码放到 send() 语句后面

d. 获得服务器的响应:
使用 XMLHttpRequest对象的两个属性:

         ① responseText  //获得字符串形式的响应数据
         ② responseXML   //获得XML形式的响应数据

2、onreadystatechange事件
当请求发送到服务器时,我们需要执行一些基于响应的任务。在readyState属性改变时,就会触发该事件
XMLHttpRequest有三个重要的属性:
①onreadystatechange 存储函数
②readyState 请求的状态 : 0 1 2 3 4 种不同的状态 ,如4:表示请求已完成且响应已经就绪;
③status 状态: 200 或 404,200 表示ok,404表示未找到页面

3、回调函数:将一个函数以参数的形式在另一个函数中使用;

总结AJAX的基本原理:
首先,利用XMLHttpRequest对象向服务器发送请求,open和send方法
然后,服务器端获取请求(如某些参数) 然后做出响应 利用response.getWriter().write()向前端输出参数
最后,前端js通过 XMLHttpRequest先判断 请求的状态,满足4 和 200之后,通过该对象的responseText属性
获取服务器的响应,依据该响应决定做什么动作

JSP Servlet Ajax 应用示例:http://wandering192.iteye.com/blog/736136

你可能感兴趣的:(JavaScript,Ajax)