4

への呼び出し後、Backbone.js の「モデル」はサーバーから何を期待していますSave()か?

私が尋ねる理由は、 への呼び出し後にモデルがクリアされるという問題があったためSave()です。モデルのparse()メソッドをいじりました。が空のオブジェクトを返すことがわかったかnull、この動作が発生しませんでした。ただし、サーバーは「成功」メッセージとして JSON を返し、この情報がモデルを上書きしているように見えました。

{
    message: 'SUCCESS'
}

Save()サーバーがBackbone からのリクエストに応答する「正しい」方法は何modelですか?

ありがとう!

4

2 に答える 2

10

サーバーは、おそらく 200 の HTTP ステータスで応答し、サーバーがモデルに対して生成または更新したデータを返す必要があります。通常、これはモデルのサーバー生成idフィールドのみです。サーバーから返されたすべてのフィールドがモデルに適用されます。したがって、これをサーバーに送信すると、次のようになります。


{
  foo: "bar"
}

そして、サーバーの応答は次のとおりです。


{
  id: 1, // or some other server generated ID, from a database, etc.
  message: "SUCCESS"
}

モデルは次のようになります。


{
  id: 1,
  foo: "bar",
  message: "SUCCESS"
}

save メソッドが呼び出されたときにモデルがサーバーから更新されたデータを必要としない場合は、空の{}オブジェクト リテラルを返す必要があります。

于 2012-08-25T02:29:52.150 に答える
4

この質問はよくここで出てきますが、私はすでに SO で質問しています。これをコメントに追加しても、将来の質問者には役に立たないようです。したがって、ここに回答と質問へのリンクがあります

backbonejs を使い始める - サーバーは何を返すべきか

于 2012-08-25T05:32:51.493 に答える