天天看点

不懂JQuery的孩子:自封装Ajax函数

前言                                      

  一直没痛下决心学习jquery,但平时项目中又要用到ajax,于是自己写一个函数封装一下方便项目中偷懒吧!今天一不小心看到介绍xmlhttp对象的博客,细读一下重新认识了一下xmlhttp对象,获益良多,顺便重构一下自己写的ajax函数。

认识xmlhttp对象                            

  xmlhttp:提供客户端与http服务器通信的协议。对于ie浏览器通过window.activexobject()获取,其他浏览器用window.xmlhttprequest()获取。

xmlhttp对象的属性:

不懂JQuery的孩子:自封装Ajax函数

xmlhttp对象的方法:

不懂JQuery的孩子:自封装Ajax函数

其中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依然有很多不清楚的地方,要好好学一下才行。

继续阅读