解析Ajax如何處理響應資訊

2021-04-17 08:50:19 字數 3376 閱讀 2939

戶的互動操作(interaction)驅動著web站點。理解如何處理響應資訊,特別是在使用新的互動操作形式(例如ajax)的時候,這一點非常重要的。kris hadloc解釋了ajax請求-響應過程的本質,你應該了解這些內容,更好地為使用者互動操作服務。

請求和響應

ajax引擎分很多個方面,每個方面都很重要。如果引擎執行傳送請求和接收響應資訊的事務,那麼它就有很多的處理響應資訊的方法。響應資訊是處理過程中的乙個重要的部分,這是因為使用者最終會與響應資訊互動操作。本文詳細解釋了如何處理ajax響應資訊,並為使用者提供反饋資訊,根據需要進行更新。我們從請求的就緒狀態開始,接著解釋響應資訊的狀態、**(callback)和分析響應資訊。本文還解釋了響應資訊的其它一些方面,例如載入訊息、錯誤處理和顯示響應資訊。

}為了建立這個物件並發出請求,你只需要使用下面兩行**:

var ajax = new ajax();

ajax.makerequest('get', 'xml/content.xml', onresponse);

上面的第二行**反映了你選擇的請求方法、xml的路徑或請求的伺服器端指令碼、當接收到響應資訊時你希望呼叫的**方法。現在你對ajax引擎和如何發出請求已經有了一定的了解,我們來看看如何處理請求。

就緒(ready)狀態

就緒狀態由**方法來處理,當我們做出請求的時候,**方法就已經設定好了。在例子中,onresponse被設定為**方法,它在本文中被用於處理所有的分析**的操作。我們將使用下面的**來檢測**方法中的ajax物件的就緒狀態:

function onresponse()

}

上面的**顯示,我們將向checkreadystate方法傳遞四個引數。第乙個引數是我們希望顯示的載入(loading)訊息div的id、其它三個引數都是自定義的對應於不同狀態的載入訊息。我選擇的用於載入訊息的div的名字是body,它使得新資料在被載入的時候,內容和載入訊息是合併在一起的。下面是實際的checkreadystate方法,它處理了我們剛才討論的**,並在div中向我們傳遞進去的引數來顯示它。這個方法也被包含在示例ajax引擎中了。

this.checkreadystate = function(_id, _1, _2, _3)

}

checkreadystate方法為使用者提供頁面狀態的反饋資訊是有用處的。下表顯示了它檢測的值:

值 狀態 0 uninitialized(未初始化) 1 loading(正在載入) 2 loaded(已經載入) 3 interactive(互動) 4 complete(完成) 你可以為每種載入狀態新增乙個自定義的訊息--它可以是乙個簡單的字串,也可以是字串格式的標籤(例如顯示乙個動畫的載入gif)。下面就是乙個例子:

不僅checkreadystate方法處理請求狀態,它所包含的http物件也會檢測和返回請求的狀態。

使用者的互動操作(interaction)驅動著web站點。理解如何處理響應資訊,特別是在使用新的互動操作形式(例如ajax)的時候,這一點非常重要的。kris hadloc解釋了ajax請求-響應過程的本質,你應該了解這些內容,更好地為使用者互動操作服務。

請求和響應

ajax引擎分很多個方面,每個方面都很重要。如果引擎執行傳送請求和接收響應資訊的事務,那麼它就有很多的處理響應資訊的方法。響應資訊是處理過程中的乙個重要的部分,這是因為使用者最終會與響應資訊互動操作。本文詳細解釋了如何處理ajax響應資訊,並為使用者提供反饋資訊,根據需要進行更新。我們從請求的就緒狀態開始,接著解釋響應資訊的狀態、**(callback)和分析響應資訊。本文還解釋了響應資訊的其它一些方面,例如載入訊息、錯誤處理和顯示響應資訊。

}為了建立這個物件並發出請求,你只需要使用下面兩行**:

var ajax = new ajax();

ajax.makerequest('get', 'xml/content.xml', onresponse);

上面的第二行**反映了你選擇的請求方法、xml的路徑或請求的伺服器端指令碼、當接收到響應資訊時你希望呼叫的**方法。現在你對ajax引擎和如何發出請求已經有了一定的了解,我們來看看如何處理請求。

就緒(ready)狀態

就緒狀態由**方法來處理,當我們做出請求的時候,**方法就已經設定好了。在例子中,onresponse被設定為**方法,它在本文中被用於處理所有的分析**的操作。我們將使用下面的**來檢測**方法中的ajax物件的就緒狀態:

function onresponse()

}

上面的**顯示,我們將向checkreadystate方法傳遞四個引數。第乙個引數是我們希望顯示的載入(loading)訊息div的id、其它三個引數都是自定義的對應於不同狀態的載入訊息。我選擇的用於載入訊息的div的名字是body,它使得新資料在被載入的時候,內容和載入訊息是合併在一起的。下面是實際的checkreadystate方法,它處理了我們剛才討論的**,並在div中向我們傳遞進去的引數來顯示它。這個方法也被包含在示例ajax引擎中了。

this.checkreadystate = function(_id, _1, _2, _3)

}

checkreadystate方法為使用者提供頁面狀態的反饋資訊是有用處的。下表顯示了它檢測的值:

值 狀態 0 uninitialized(未初始化) 1 loading(正在載入) 2 loaded(已經載入) 3 interactive(互動) 4 complete(完成)

var loader = "〈img src="http://images.51cto.com/wuyou/images/loader.gif"〉";

ajax.checkreadystate('body', loader, loader, loader);

不僅checkreadystate方法處理請求狀態,它所包含的http物件也會檢測和返回請求的狀態。

<

如何處理ajax中巢狀乙個ajax

第一種 描述 如果條件許可,把兩次請求都放在服務端處理掉一起發回來,這些就在客戶端只有一次ajax了 優點 放在服務端,安全性比較,且服務端處理速度較快 缺點 可能請求的資料格式是json,這樣在服務端處理json資料還需要對json進行反序列化,這樣就比較麻煩 第二種 描述 是我第一次解決這個問題...

深入理解AJAX響應資訊的處理

使用者的互動操作 interaction 驅動著web站點。理解如何處理響應資訊,特別是在使用新的互動操作形式 例如ajax 的時候,這一點非常重要的。kris hadloc解釋了ajax請求 響應過程的本質,你應該了解這些內容,更好地為使用者互動操作服務。請求和響應 ajax引擎分很多個方面,每個...

如何處理DDoS

ddos 簡述 ddos是分布式拒絕服務 distributed denial of service 的英文縮寫,其 方式通常是利用很多受 者控制的 殭屍主機 向目標主機傳送大量看似合法的資料報,從而造成主機資源被耗盡或網路被堵塞,導致主機無法繼續正常提供服務。ddos通常可以分為兩類,即資源耗費式...