前言
一直没痛下决心学习jquery,但平时项目中又要用到ajax,于是自己写一个函数封装一下方便项目中偷懒吧!今天一不小心看到介绍xmlhttp对象的博客,细读一下重新认识了一下xmlhttp对象,获益良多,顺便重构一下自己写的ajax函数。
认识xmlhttp对象
xmlhttp:提供客户端与http服务器通信的协议。对于ie浏览器通过window.activexobject()获取,其他浏览器用window.xmlhttprequest()获取。
xmlhttp对象的属性:

xmlhttp对象的方法:
其中readystate有0,1,2,3,4这五个值
0:实例化了xmlhttp对象,还没调用xmlhttp对象的open方法;
1:调用xmlhttp对象的open方法,但还没调用send方法;
2:调用send方法后,服务器返回响应头,这时可以通过xmlhttp.getresponseheader()来获取响应头;
3:服务器返回部分响应内容,这时可以xmlhttp.responsetext有值,但只是部分内容而已,不能保证数据完整;
4:服务器处理完毕,这时xmlhttp.responsetext的值为完整的响应内容,数据完整。
注意:
1.上面的readystate不是每种浏览器都俱全。
2. 因asp.net默认启动了输出缓存,如果不手动加上response.flush()的话,那么最后响应完成后2、3、4状态会一连串地变换。
具体实现
代码:
xmlhttpmanagerhaspool.js
使用实例——进度条:
aspx文件
aspx.cs文件
ajax封装包基本写好了,不过对于javascript依然有很多不清楚的地方,要好好学一下才行。