2012-05-25 53 views
5

我有一個基本的社交網絡概念:朋友請求。Backbone.Js使用destroy發送數據()

可以接受或拒絕每個好友請求,這兩個操作都應導致朋友請求從集合中刪除並從服務器中刪除。

我可以使用model.destroy()向服務器發出DELETE請求,並從FriendRequests集合中刪除該項目。但是我需要向服務器發送一些額外的數據,以確定請求是被接受還是被拒絕。 ?accepted=true|false

我該如何發送更多的數據allong Destroy() - 或者我正在以這種錯誤的方式?

+0

聽起來像兩個不同的操作 - 更新然後刪除。 – kinakuta

+0

我並不需要更新朋友請求,我只需要根據是否接受或拒絕來執行不同的操作 – reach4thelasers

+0

瞭解,但這些只是基本的crud操作 - 刪除不會傳達附加信息 - 這聽起來像你需要更新一個狀態,以便能夠在刪除發生時執行一些邏輯。 – kinakuta

回答

2

我同意@kinakuta,這不是一個標準的DELETE。考慮做一個PUT到/friend-request/42/accept/friend-request/42/decline。另一種選擇是執行標準更新/ PUT,但在更新過程中提供accepted標誌時,服務器會採取適當的措施。您可能還想爲您的服務器端數據庫記錄實施「軟刪除」,其中好友請求實際上並未被刪除,但其「狀態」屬性已更改爲適當的生命週期值。可能是「待處理」,「拒絕」,「接受」等等之一。當請求被接受時,您可能希望存儲額外的元數據,例如時間戳,這對於報告/分析可能很有趣。如果您刪除該記錄,則無法存儲該元數據。

+0

好的答案,謝謝,我會遵循你的建議。 – reach4thelasers

+1

這將是一個很好的評論,但不是一個答案。沒有回答實際問題,即使OP在編碼方面做得不對。 –