Ajax—初識,ajax初識
看DRP的過程,重新學習了一遍Ajax,更深刻的體會到了Ajax所具有的魅力。Ajax是一種技術或者方法,更是一
種藝術。它讓我們的程式以一種更完美的姿態呈現在使用者面前。下面就讓我們一起走進Ajax的世界。
簡介
全名:
AsynchronousJavaScript and XML。
工作原理:
Ajax的工作原理相當於在使用者和伺服器之間加了—個中介層(AJAX引擎),使使用者操作與伺服器響應非同步化。並不
是所有的使用者請求都提交給伺服器,像—些資料驗證和資料處理等都交給Ajax引擎自己來做,只有確定需要從伺服器讀
取新資料時再由Ajax引擎代為向伺服器提交請求。
通過XmlHttpRequest對象來向伺服器發非同步請求,從伺服器獲得資料,然後用JavaScript來操作DOM而更新
頁面。
核心技術:
非同步
主要成員:
JavaScript、XMLHTTPRequest、DOM
應用:
新浪微博、Google地圖等
同步與非同步
提到Ajax,必然會提到同步和非同步。
同步:可以理解為單線程,也可以理解為“死心眼”。也就是在執行完一個函數或方法之後,一直等待系統返回
值或訊息,這時程式是出於阻塞的,只有接收到返回的值或訊息後才往下執行其他的命令。
非同步:可以理解為多線程(非同步肯定是多線程)。執行完函數或方法後,不必阻塞性地等待返回值或訊息,只需
要向系統委託一個非同步過程,那麼當系統接收到返回值或訊息時,系統會自動觸發委託的非同步過程,從而完成一個完
整的流程。
還不懂?同步就是你叫我去吃飯,我聽到了就和你去吃飯;如果沒有聽到,你就不停的叫,直到我告訴你聽到
了,才一起去吃飯。非同步就是你叫我,然後自己去吃飯,我得到訊息後可能立即走,也可能等到下班才去吃飯。所
以,要我請你吃飯就用同步的方法,要請我吃飯就用非同步方法,這樣你可以省錢。
而我們的Ajax只要就應用了非同步,來展現自己的魅力,提高使用者的體驗度。說到這裡就不得不提Ajax的核心對象
XMLHttpRequest。正是它的存在才可以讓Ajax向世人展現它強大的功能。
XMLHttpRequest介紹
這裡不詳細介紹XMLHttpRequest的屬性和方法,我們大致說一下XMLHttpRequest的工作過程:
這些步驟很直觀:你需要XMLHttpRequest對象的一個執行個體,要告訴它如果狀態有變化該怎麼做,還要告訴它向哪
裡發送請求以及如何發送請求,最後還需要指導XMLHttpRequest發送請求。再簡單點就是:建立出一個執行個體,告訴他
他需要做什麼,為誰服務。
優缺點
任何一件藝術品都有不是完美的,Ajax也一樣,自從Ajax出現之後,對它的討論就沒有停止過。優點顯而易見:
但它的缺點也很明顯,有人總結出Ajax的“七宗罪”,這裡我們就不詳細說了,我大致總結一下它的缺點:
總結:
這是一篇協助大家瞭解Ajax的文章,沒有太多詳細的技術講解,Ajax是一門非常實用的技術,它可以很好的提高
客戶的體驗度,但它也不是完美的,很多情境下並不適合使用它,比如:需要替換大量文本的情況下。
問ajax的應用有什…?最好舉個例子,還有用這種技術的好處是什?
現在最熱門的微博系統就是大量運用的ajax的.
你會發現你的微博會無重新整理提示最新資訊,會無重新整理更新最新微博,這些都是ajax.
還有一個應用比較廣泛的是gmail和163的郵箱.在新郵件到達的時候會提示,這也是ajax的應用.
還有就是Google和=百度輸入框的下拉提示也是ajax的一種應用.
ajax可以使在很友好的,無打斷使用者狀態的情況下補救伺服器資訊,這是未來客戶體驗度的一種很重要的步驟.
一個Ajax問題傳值問題
你自己手動調試一下唄 , 比如 在關鍵步驟 alert 一下裡面的值是不是所預想的值。
還有,用jquery架構來寫 js 包括ajax 都很方便,而且不易出錯。 學習jquery也很容易, 一兩個小時就會用了