考慮如下需求:
1. 使用者輸入一個使用者名,當焦點跳出文本框時,檢查該使用者名是否有效
2. 動态更新檢查的結果
我們使用ajax的方式來實作這個簡單的功能,首先建立view:check.html.erb:
不知道上述代碼為毛不能使用jquery!?暫且放一邊吧...接着我們來寫伺服器對應的check_name方法:
如果name有效則傳回綠色文字,否則傳回紅色文字;這個可以通過css來實作,對應的css如下:
.red {
color:red
}
.green {
color:green
别忘了還要加路由啊:
代碼流大緻如下:首先使用者通路localhost:3000/users/check頁面,然後輸入使用者名,當焦點離開文本框時,調用start_request方法;該方法首先建立一個xml_html對象(不考慮浏覽器為ie情況,否則還得加一坨代碼),該方法在safari和firefox測試有效。接着通過xml_html向check_name action發送請求,随後注冊一個回調函數request_handle;當請求傳回時就會執行回調函數,該函數将結果實時動态的插入info對象。