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