DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> AJAX入門 >> AJAX詳解 >> Rails系統中的AJAX開發技術簡析(4)
Rails系統中的AJAX開發技術簡析(4)
編輯:AJAX詳解     
七、 使用觀察器

  Rails能夠讓你監視一個字段的值,並且在無論何時字段值發生變化時,都作一次到一個行動處理器的AJax調用。當前被觀察字段的值被發送到本次調用相關的寄送數據的行動處理器中。

  最常用的一種情況是實現一個實況查找:

<label for="searchtext">Live Search:</label>
<%= text_fIEld_tag :searchtext %>
<%= observe_fIEld(:searchtext,
:frequency => 0.25,
:update => :search_hits,
:url => { :action => :live_search }) %>
<p>Search Results:</p>
<div id="search_hits"></div>
  這個代碼小片段實現監視一個稱為searchtext的文本框字段的值。每隔四分之一秒,Rails檢查該字段的變化。如果該字段發生變化,浏覽器將作一個到live_search行動處理器的AJax調用,並把結果顯示在search_hits div中。

  你可以在我的博客上看到一個這種現場查找的實際展示。在右上角的搜索框中,你可以試著輸入"enterprise"或"rails",看看發生了什麼。

  八、 是否應用AJax技術

  當你使用AJax技術來更新一個web頁面部分時,用戶得到的是快速響應性和流暢性。然而,用戶也失去了書簽功能和使用浏覽器的向後按鈕的能力。這兩個缺點來源於同一個事實:URL不做改變,因為浏覽器並沒有裝載一新的頁面。

  不要僅因為AJax相當酷而使用它,而應考慮在你的web應用程序的用戶接口中什麼最為重要。

  例如,如果一個web頁面顯示一個帳戶列表-上面有一些諸如添加、刪除和改名帳戶等等的操作,這些都是Ajax的良好候選。如果用戶點擊一個超級鏈接來顯示屬於一個帳戶的所有清單-這種情況下,你應該顯示一新頁面並且避免AJax。

  這意味著用戶能夠記下該帳戶頁面和清單頁面,並且使用向後和向前按鈕在它們之間切換。用戶不能夠記下所有這些列表之一中的操作或使用向後按鈕來嘗試撤消一個在該列表上的操作(在一傳統型web應用程序中,這兩者你也都希望避免發生)。

  九、 添頭

  我想介紹給你許多真正酷的東西,但是卻不會深入到細節中去討論。

  Web頁面上載文件的功能經常令一些用戶緊皺眉頭,因為用戶在上載處理過程中,他不會收到任何反饋信息,除了屏幕上漏斗鼠標在不停地轉轉轉……通過使用AJax技術,你可以與服務器進行通訊-在上傳過程中,可以檢索和顯示上傳的狀態。Sean Treadway和Thomas Fuchs實現了一個有關如何實現這種技術的現場展示,這是通過使用Rails和一個視頻來實現的。

  另外,Rails使用的Prototype Javascript庫也實現了大量的可視化效果。效果演示頁面上有一個這些效果的在線演示,其中包括JavaScript對使用之的調用。

  十、 感想

  自從孤立的web站點服務於靜態的頁面以來,Web已經經歷了一段相當長的裡程。如今,我們在慢慢地進入到一個新的時代-站點動態地相互鏈接在一起,web API允許我們容易地在已有的服務上進行這樣的創建,而且web用戶接口已變得越來越流暢和具有快速響應性。很明顯,AJax在如今已浮出水面的Web 2.0傳奇中將占有舉足輕重的地位。

  無論如何,把復雜的AJax特征增加到一個web應用程序應該是一堆相當大量的工作,但是Rails使得所有這些變得太簡單了。
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved