私はbackbone.jsが初めてで、単純なモデルを安らかなAPIで機能させようとしていますが、単純なPOST操作を機能させることができません。
モデル要素にプロパティ「id」が設定されておらず、save()関数が呼び出された場合、モデルはサーバー(モデルのURL)にポストコマンドを発行し、 HttpStatus.OK (200) とアイテムの新しい ID。
ここにJSコードがあります:
this.model = new MYAPP.menuItem(); this.model.save(); console.debug("the new id is:", this.model.get("id")) <-- this is undefined
私はサーバー側としてスプリングコントローラーを使用しています。これはコントローラーのコードです
@RequestMapping(value = "/menuItem",method = RequestMethod.POST) @ResponseStatus(value = HttpStatus.OK ) @ResponseBody public Long addmenuItem(Model model) { return new Long(1); }
Post 呼び出しはサーバーに正常に到達し、コントローラーが呼び出されますが、モデルの ID が更新されていないことがわかります。
私は何を間違っていますか?
ありがとう。
要求された追加コード:
initialize: function() { console.debug("initializing new view"); this.model = new MYAPP.Event(); this.model.save({ success: function( model ) { console.log( model.get('id') ); } }); var source = $("#index-template").html(); this.template = Handlebars.compile(source); console.debug("view collection", this.model); this.model.on('all', this.render, this); //this.recipes.fetch(); },
ぐちゃぐちゃでごめんなさい!