前言
一直沒痛下決心學習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依然有很多不清楚的地方,要好好學一下才行。