Ajax(Asynchronous JavaScript and XML)是异步的JS和xml,实现在不刷新整个页面的情况下对部分数据更新。
传统Ajax的工作流程是通过XMLHttpRequest对象通过异步方式向后台发送请求。
1.初始化XMLHttpRequest对象。
http_request = new XMLHttpRequest();
2.为XMLHttpRequest指定一个回调函数,用于对返回结果进行处理。
http_request.onreadystatechange = getResult;
3.创建与服务器的连接,在创建时需要指定post或get请求方式,以及设置是否采用异步。
http_request.open('POST',url,true);
4.向服务器发送请求。send()方法,需要向该方法传入一个参数,若是get则参数可以为null,若是post,则先设置正确的请求头,还要想方法中传入参数。
http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); var param = "user="+form1.user.value; http_request.send(param);
发送请求后,需要处理服务器返回的响应。不同的条件下,服务器对同一个请求都可能有不同的响应结果。响应是写在回调函数中,先判断服务器的请求状态,保证请求已完成;再根据服务器的HTTP状态码,判断服务器对请求的响应已完成。若成功则获取响应返回给客户端。
XMLHttpRequest对象提供了两个用来访问服务器响应的属性:
1.responseText:用来返回字符串响应
2.responseXML:返回xml响应
若需要将响应结果显示到页面的指定位置,也可以先在页面的合适位置添加一个<div>或<span>标记,设置该标记的id属性。document.getElementById("div_result").innerHTML=http_request.responseText;