2015年9月3日 星期四

深入淺出Ajax -- Ajax應用程式設計[2]


  • 當瀏覽器載入xhtml檔時,<script>標籤會請他載入js檔,在js當中,function外的程式碼會立刻被執行,而function會被瀏覽器的js直譯器建立,但不會被執行。
  • window.load不在function中,所以會馬上被執行,其所指定的function則會在xhtml參照的所有檔案被載入後(在User能使用網站前),接著執行。
  • 把會重複使用到的程式碼放在一個公用程式碼檔案中(util.js),並且把它放在應用程式特定的程式碼之前(先include的感覺)。
  • 大部分的"非Microsoft瀏覽器"可以支援XMLHttpRequest,所以要為IE做特別的request方式。

深入淺出Ajax -- 使用ajax [1]


  • Ajax是一種設計及建立網頁的方式,核心觀念是asynchronous request,是一種"發生在背景"的請求,在請求發生的同時,User可以繼續其他工作,就不用一直等待頁面重新刷新。
  • Ajax只會傳送及接收頁面上需要改變的部分,因此有較少的網路交通、較小的更新及較短的等待時間等優點。
  • 請求與回應的速度和server回傳的內容有關,也有可能產生比傳統頁面還要慢的Ajax頁面。
  • Ajax可能產生許多較小的請求,因而導致交通流量的增加。
  • 有時候,瀏覽器可以直接呼叫script當中的function,不用跟server溝通。
  • 由於Ajax所依賴的技術與xhtml的關係,因此會也兼容性(compatibility)的問題。在開發時要記得測試不同的瀏覽器。
  • XMLHttpRequest 是一個請求物件,可以傳送給server及從server取得回應。如果失敗的話可以改用ActiveXObject(Microsoft特有的編程物件)。