人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

backbone.jsのAjaxについての質問です。
Ajax で http status が200の時(サーバ側で何も問題なかった場合)、その戻り値のJSONが必ず model の属性を上書きしてしまうようです。

JSON以外で返すと、backboneでレスポンスを受けたた時に、エラーになってしまうし、{"message" : "successfully updated"} の様にすると、model に message 属性が書き込まれてしまいます。

"successfully updated" の様なメッセージを返した場合、どうしたら良いでしょうか?

●質問者: norisuke3
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● oil999
●100ポイント ベストアンサー

ソースがないので分かりませんが、ViewとModelが混在してしまっているのではありませんか?


norisuke3さんのコメント
解決しました。 Issue は Model を継承したクラスです。 以下のように書いていて、success に処理が移るときには既に、issue から渡された json の内容が書き込まれてしまっていたのですが、model#parse() をオーバーライドすることで、この書き込まれる内容をコントロールすることができるようです。 var issue = new Issue(); issue.save({ magazine: magazine.id }, { success: function(model, response){ self.collection.add(issue); }, error: function(model, response){ var message = $.parseJSON(response.responseText).message; alert(message); } ありがとうございました。

norisuke3さんのコメント
訂正 誤 : issue から渡された json の内容が書き込まれて・・・ 正 : サーバから渡された json の内容が issue に書き込まれて・・・
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ