閱讀598 返回首頁    go 阿裏雲 go 技術社區[雲棲]


AJAX(2)

AJAX (Asynchronous Javascript And XML)


你看到一個網頁代碼,網頁裏有script代碼,script裏麵有XMLHttpRequest
於是基本可以確定你在看一個應用了ajax的網頁 

AJAX就是這麼簡單
在javascript裏定義一些XMLHttpRequest,通過.open和.send來設定並執行一些行為。
通過onreadystatechange裏麵 定義對不同的readystate有什麼樣的行為並針對不同狀態改變DOM架構的網頁內容(當然不用DOM也沒所謂)
於是就結束了

我們看下涉及到了哪些點
1.XMLHttpRequest
技術上來講, 這個對象是ajax的核心,所有的東西都從這個上引出
IE5.0之前放棄吧,就壓根沒支持,5.0到7.0用ActiveXObject 之後聽說是與firefox一致將其視為javascript對象了
所以一般來講會列出幾種
 xmlhttp_request = new ActiveXObject("Msxml2.XMLHTTP.3.0");    
 xmlhttp_request = new ActiveXObject("Msxml2.XMLHTTP");   
 xmlhttp_request = new ActiveXObject("Microsoft.XMLHTTP");   
 xmlhttp_request = new XMLHttpRequest();

有興趣的自己可以查下 若你做的網頁想在所有瀏覽器上都可以正常工作的話。

 

它的內部包含了以下對象和方法

對象

readyState 請求的狀態 0=初始化 1=讀取中 2=已讀取 3=交互中 4=完成

onreadystatechange 一個事件觸發器,隻要readyState改變了 就會被觸發

status 包含正常的HTTP請求可能出現的status 比如 200是成功 404是頁麵沒找到 等等。
statusText 請求後服務端返回的狀態文本,隻有readyState的值為3或者4的時候 才有用
responseText 服務端返回信息的文本形式

responseXML 服務端返回信息的XML對象(兼容DOM),當readyState為3或者4的時候,一般Content-Type=text/xml或application/xml



方法

open方法  用來設定請求的行為模式及參數

open(act, url, async)

一般3個參數,第一個是HTTP行為模式(GET, POST, PUT, DELETE,HEAD),第二個是URL, 第三個是是否為異步

GET是取得頁麵,POST以表單方式提交並取得相應反饋頁麵,PUT為創建保存行為,DELETE為刪除行為,HEAD為隻收取相應頁麵的HEAD部分(寫過HTML的都該知道什麼是head部分吧)

 

send方法 用來發送請求

send(var)

有一個參數,在你什麼都不想做的時候 直接寫個null就好,若是有東西要post過去的話 也可以在這裏寫 若是open中的是否異步為真的時候將立刻返回 繼續程序流程

abort方法 用來取消請求
abort()
無參數 用來取消請求 將其readyState重置為0

setRequestHeader()方法 用於設置發出請求的head

setRequestHeader(DOMString head, DOMString value)
兩個參數,要求是DOMString類型的head以及value, 隻能在readyState=1的時候使用 否則 將返回異常
getRequestHeader()方法 用於得到響應的head
getRequestHeader(DOMString head)
一個參數 要求是DOMString類型, 在readyState為3或4之前 隻能得到空
getAllRequestHeader()方法 用於得到所有響應的head
getAllRequestHeader()
無參數 在readyState為3或4之前 隻能得到空,得到的每個head信息將單獨作為一行
大概就這麼多了 各位應用的時候多嚐試就知道了


 

最後更新:2017-04-02 00:06:41

  上一篇:go ASP.Net RssToolkit Version 2.0
  下一篇:go 用ASP技術進行動態WAP網站開發實例