Ajax全称:Asynchronous Javascript and XML ,异步的javascript和XML。
Ajax不是一种语言,是一种无需重新加载整个网页的情况下,能更新部分网页的技术。(与后台交互,实现局部更新,异步更新)
同步和异步:
同步(Ajax出现之前):客户端发起请求,服务端对请求进行处理和响应,这期间客户端一直在等待服务器端的响应,得到服务器端的响应之后客户端重新载入页面,这时候如果你有错误,只能再次发起请求,再次等待……
异步(Ajax出现之后):XMLHttpRequest的出现,使得 后台 与 服务器 在不重新加载页面的情况下进行数据的交换(并对网页进行部分的更新)。
XMLHttpRequest
实例化XHR对象:
<span style="font-family:SimSun;font-size:12px;">var request </span><span style="font-family:Microsoft Yahei, Hiragino Sans GB, Helvetica, Helvetica Neue, 微软雅黑, Tahoma, Arial, sans-serif;font-size: 14px;">= </span><span style="font-family:SimSun;font-size:12px;">new XMLHttpRequest();</span>
考虑浏览器兼容性:
XMLHttpRequest 两个重要方法
var request; if(window.XMLHttpRequest){ request = new XMLHttpRequest();//IE7+,Firefox,Chrome,Opera,Safari… }else{ request = new ActiveXObject("Microsoft.XMLHTTP");//IE6,IE5 }
open(method,url,async)——参数:请求方式、请求地址、请求同步/异步;
send(string)——参数:使用POST方式时,填写此参数。
用法实例:
request.open("POST","create.php",true);
request.setRequestHeader("Content-type","application/x-www-form-urlencoded"); //要写在open和send之间
request.send("name=张三&sex=男");
readyState属性:
0 :请求未初始化,open还没有调用
1 :服务器连接已建立,open已经调用了
2 :请求已接收,也就是接收到头信息了
3 :请求处理中,也就是接收到响应主体了。
4 : 请求已完成,且响应已就绪,也就是响应完成了