
214
|
第十二章
var Followers = Backbone.Collection.extend({
model: User,
url: "/followers"
});
Followers.fetch();
集合物件的
fetch()
函式會發送出一組 GET 請求至伺服器端(也就是前面這段程式裡的
/followers
),藉此取得遠端傳回的模型資料。等用戶端拿到了伺服器端回傳的模型資
料,就會重新整理集合物件的內容,並觸發
refresh
事件。
你可以自己執行
refresh()
函式,並傳入一組存放模型物件的陣列,藉此手動重新整理
集合物件。這種做法在需要初始化網頁內容時會很有用。因為這麼做,就不需要在載入
網頁時另外發送一組 GET 請求,可以直接把一組 JSON 物件傳進
refresh()
函式裡,藉
此預先裝載好集合物件裡的資料。如果用的是 Rails,程式就會如下:
<script type="text/javascript">
Followers.refresh(<%= @users.to_json %>);
</script>
伺服器端該做的處理
本章稍早曾介紹過,如果要無縫的與 Backbone 的同步機制接軌,伺服器端也會需要實
作一些 RESTful 的端點(endpoint)程式:
create → POST /collection
read → GET /collection
read → GET /collection/id
update → PUT /collection/id
delete ...