冷面閻羅

          低調做人&&高調做事
          隨筆 - 208, 文章 - 3, 評論 - 593, 引用 - 0
          數據加載中……

          [轉]關于AJAX的幾個概念

          書歸正傳,AJAX其實不是一種語言,甚至不是一種技術,它是幾種技術的有機結合(Javascript、XML、CSS等等,其實有時還會用到更多的技術,比如偶鐘情滴java^_^,就像推War3,要多個兵種加起來用才夠厲害。。。跑題了~~~~)。Javascript作為腳本語言,用Javascript操作XML和CSS,用XML做為數據的存儲介質,用CSS顯示效果和狀態。

          這里不得不提的一項內容就是XMLHttpRequest,偶認為這是真正Ajax的核心東東(可能是偶見識太少了- -!),它可以模擬Request對象向服務器提交請求,并返回請求結果,這就摒棄了原有的讓人等的好煩的白白的瀏覽器顯示頁!!用句不怎么術的術語說就是“動態無刷新”。廢話不說,來看看這么強大的DD是怎么實現的~~~

          不同的瀏覽器實現的方式不一樣,對于Mozilla, Firefox, Safari,?和Netscape瀏覽器:

          var xmlhttp=new XMLHttpRequest()

          對于Internet Explorer:

          var xmlhttp=CreatActiveObject("Micosoft.XMLHttp")

          編程要點:

          ---------------------------屬性--------------------------------

          屬性 值類型 說明
          onreadystatechange 回調函數名稱的字符串 指明回調函數
          readyState 請求狀態代碼,共四種狀態:
          0????未初始化
          1????正在裝載
          2????裝載完畢
          3????交互中
          4????完成
          XMLHttpRequest對象的請求狀態
          responseText 返回數據的字符串形式 以字符串形式存儲該請求返回的數據
          responseXML 返回一個Xml Document對象 以XML數據形式存儲請求返回的數據
          status 請求所返回的HTTP返回碼:
          "100" : Continue
          "101" : witching Protocols
          "200" : OK
          "201" : Created
          "202" : Accepted
          "203" : Non-Authoritative Information
          "204" : No Content
          "205" : Reset Content
          "206" : Partial Content
          "300" : Multiple Choices
          "301" : Moved Permanently
          "302" : Found
          "303" : See Other
          "304" : Not Modified
          "305" : Use Proxy
          "307" : Temporary Redirect
          "400" : Bad Request
          "401" : Unauthorized
          "402" : Payment Required
          "403" : Forbidden
          "404" : Not Found
          "405" : Method Not Allowed
          "406" : Not Acceptable
          "407" : Proxy Authentication Required
          "408" : Request Time-out
          "409" : Conflict
          "410" : Gone
          "411" : Length Required
          "412" : Precondition Failed
          "413" : Request Entity Too Large
          "414" : Request-URI Too Large
          "415" : Unsupported Media Type
          "416" : Requested range not satisfiable
          "417" : Expectation Failed
          "500" : Internal Server Error
          "501" : Not Implemented
          "502" : Bad Gateway
          "503" : Service Unavailable
          "504" : Gateway Time-out
          "505" : HTTP Version not supported

          其實實際用的時候記著200是OK(本地調試時OK狀態會返回0),404是NO FOUND就可以了!

          該XMLHttpRequest所做的請求返回的HTTP返回碼
          statusText 字符串,此屬性只讀,以BSTR返回當前請求的響應行狀態,此屬性僅當數據發送并接收完畢后才可獲取。 XMLHttpRequest所做的Http請求返回信息

          ---------------------------方法---------------------------

          方法 參數 返回值 說明
          abort() 取消當前的請求
          getAllResponseHeaders() 以字符串形式返回所有的HTTP頭 以字符串形式返回所有的HTTP頭
          getResponseHeader("headerName") headerName參數指定的http頭字符串 返回指定的HTTP頭字符串 從響應信息中獲取指定的http頭
          open('method','URL',async,'uname','pswd') method字符串指定用何方法發送請求,比如POST、GET、PUT及PROPFIND。大小寫不敏感
          URL字符串指定請求的HTTP地址,可以為絕對路徑也可以為相對路徑
          async布爾值指定請求是否為異步方式,默認為true。如果為真,當狀態改變時會調用onreadystatechange屬性指定的回調函數。
          uname字符串指定用于服務器驗證用戶名,如果服務器需要驗證,此處指定用戶名,如果未指定,當服務器需要驗證時,會彈出驗證窗口。
          pswd字符串指定驗證信息中的密碼部分,如果用戶名為空則此部分被忽略。
          創建一個新的http請求,并指定此請求的方法、URL以及驗證信息
          send(content) content參數可以是任何想發送到服務器端的數據 發送請求到http服務器并接收回應,此方法的同步或異步方式取決于open方法中的bAsync參數,如果bAsync == False,此方法將會等待請求完成或者超時時才會返回,如果bAsync == True,此方法將立即返回。如果發送的數據為XML DOM object,則回應將被編碼為在xml文檔中聲明的編碼,如果在xml文檔中沒有聲明編碼,則使用默認的UTF-8。
          setRequestHeader("label","value") label字符串指定頭名稱
          value字符串指定頭的值
          單獨指定請求的某個http頭,如果已經存在已此名稱命名的http頭,則覆蓋之。此方法必須在open方法后調用。

          posted on 2007-03-15 20:22 冷面閻羅 閱讀(1836) 評論(1)  編輯  收藏 所屬分類: 其他ajax

          評論

          #  [轉]關于AJAX的幾個概念  回復  更多評論   

          ^_^。。來搞war3啊~~~

          以前也是做java,現在專注于flash~~~~~~~~~~

          常來搞war3咯~~~
          2007-03-16 15:31 | array --msn:wccshow@gmail.com
          主站蜘蛛池模板: 琼中| 繁昌县| 武邑县| 林芝县| 花莲市| 鄂尔多斯市| 历史| 定安县| 淮北市| 永寿县| 原阳县| 汽车| 当雄县| 赤峰市| 焦作市| 眉山市| 礼泉县| 和静县| 天长市| 嫩江县| 海林市| 赞皇县| 拜泉县| 前郭尔| 麟游县| 察隅县| 湄潭县| 宁明县| 汝城县| 安徽省| 历史| 沅陵县| 武邑县| 孝昌县| 曲沃县| 道孚县| 临江市| 阳西县| 房山区| 黄山市| 菏泽市|