Ajax知识笔记——入门,同步和异步,XHR

来源:互联网 发布:mac灰色和银色那个好 编辑:程序博客网 时间:2024/04/30 19:36

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>

考虑浏览器兼容性:

var request;if(window.XMLHttpRequest){request = new XMLHttpRequest();//IE7+,Firefox,Chrome,Opera,Safari…}else{request = new ActiveXObject("Microsoft.XMLHTTP");//IE6,IE5}
XMLHttpRequest 两个重要方法
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  : 请求已完成,且响应已就绪,也就是响应完成了

0 0
原创粉丝点击