Ajax也用了很長時間了,今天只是想整理一下我心中的Ajax.
簡單的說Ajax就是實現了異步向服務器請求數據,讓用戶有更好的體驗.
XMLHttpRequest其實也就只有兩種方式返回請求后的數據:
1.responseText方式,它是返回文本字串的方式,其實采用這種方式,通常是在服務端在對請求響應處理后,生成好要在瀏覽器上展示的html代碼后,再直接輸出到客戶端,更新需要更新的客戶端頁面內容.這種方式的好處是能在服務端生成好客戶端代碼,可減輕客戶端的負擔,客戶端只需將服務端生成的代碼innerHTML到對應的區域就行了... ... 但它的缺點在于,輸出到客戶端的是文本數據,所以無法對得到的數據在客戶端進行處理,所以就難以行成根據取回的數據的差異對頁面進行必要的邏輯處理.
2.responseXML方式,它是返回XML格式的文本,它是在服務端在對請求響應處理后,將數據以XML格式的文本返回到客戶瀏覽器上,然后再由客戶端來完成方式1中由服務端來完成的生成頁面展示的內容. 客戶端將解析返回的XML數據,然后再進行頁面的展示,由于是XML數據所以可以進行解析便可以根據解析出的數據對如何展示頁面進行邏輯處理,在這一點上是比responseText要靈活的.但付出的是加大了客戶端的負擔.
其實現在我正在學習JSON,如果在responseText方式中返回JSON方式的數據的話,是完全可以讓responseText和responseXML一樣的靈活的,因為JSON也是一種數據結構,可以將要返回的數據組織在其中,到客戶端再進行解析,解析也相當簡單,只需evel執行即可... 但前提是輸出到客戶端的JSON數據結構是正確的,不然js就會bomb!
以上是僅是我個人的看法,有不對之處請大家多指點!