4

モデルの章のsaveメソッドで、Backbone.js のドキュメントには次のように書かれています。

代わりに、変更された属性のみをサーバーに送信する場合は、model.save(attrs, {patch: true}) を呼び出します。渡された属性だけを使用して、サーバーへの HTTP PATCH 要求を取得します。

ソース: http://backbonejs.org/#Model-save

これが実際に機能する方法についての適切な説明を見つけることができませんでした (実際に機能するかどうか!)。渡された属性だけでPATCH リクエストをサーバーに送信する必要がありますが、常に POST リクエストをサーバーに送信すると、モデルのすべての属性が送信されます。また、Firebug では、変更しても違いがわかりませんBackbone.emulateHTTP。Firebug は常に save メソッドを使用して POST 要求を表示します。

ここでテストを作成しました: http://jsfiddle.net/r9kXL/ URL はもちろん存在しませんが、重要なのは Firebug で POST 要求を確認することです。ご覧のとおり、属性を 1 つだけ送信しようとすると、常にすべてがサーバーに送信され、オプションがまったく役に立たなくなります。

Backbone 開発者がこのオプションを提供する理由とその目的は何ですか? その使用例を示していただけますか?

4

1 に答える 1

11

これは、モデルとバックボーンが既存のインスタンスにパッチを適用する (メソッド) のではなく、isNew「新しいインスタンスを作成する」(メソッド) ために発生します。見てみましょう - http://jsfiddle.net/r9kXL/1/createpatch

'create': 'POST',
'update': 'PUT',
'patch':  'PATCH',
'delete': 'DELETE',
'read':   'GET'
于 2013-06-28T18:57:07.820 に答える