我是backbone.js 的新手,我正在尝试使用restful API 制作一个简单的模型,但我似乎无法使简单的POST 操作正常工作。
据我了解,如果模型元素没有设置属性“id”并且调用了 save() 函数,模型将向服务器发出 post 命令(模型的 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(); },
对不起,一团糟!