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

2021-04-09 05:30:43 字數 1577 閱讀 1550

使用者的互動操作(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 = "";

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

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

共2頁。 12

8

深入理解ajax

基礎練習 常用 for in迴圈 for var x in json var json json.parse str 把字串解析成 json物件 var json eval str 把括號內字元當 執行 var str1 json.stringify json 將json轉換成字串 json.par...

深入理解Spark RDD RDD資訊物件

rddinfo用於描述rdd的資訊,rddinfo提供的資訊如下 rddinfo還提供了以下方法 清單 1 iscached的實現 def iscached boolean memsize disksize 0 numcachedpartitions 0 清單 2 compare的實現 overri...

C 異常處理的深入理解

1,問題 1,如果在 main 函式中丟擲異常會發生什麼?1,不處理,則崩潰 2,如果異常不處理,最後會傳到 3,下面的 輸出什麼?4,異常的最終處理程式設計實驗 1 include 2 3using namespace std 45 class test 613 14 test 1519 20 2...