app.Model.BrandModel = Backbone.Model.extend({
idAttribute: 'brandId',
defaults: {
name : '',
description : '',
brandImage : '',
user : '',
showPro : false,
proDescription : ''
},
url : function(){
return '/rest/brands/' + brandId;
}
});
我可以从firebug看到我的服务器正在返回以下JSON响应。请求也是成功的。
brandId "fc692c70-4096-11e3-a0f2-3c970e02b4ec"
name "Galeria"
user "940ee800-4090-11e3-80c0-3c970e02b4ec"
description "This is galeria"
brandImage "/brand-images/fc692c70-...3-a0f2-3c970e02b4ec.jpg"
proDescription ""
showPro false
我这样打电话。
var brandModel = new app.Model.BrandModel();
brandModel.fetch();
但是我的模型没有填充,值仍然是默认值。
我的控制器
@RequestMapping(value = "/rest/brands/{brandId}",
method = RequestMethod.GET,
produces = "application/json")
@ResponseBody
public Brand getBrand(@PathVariable("brandId") String brandId, HttpServletResponse response) {
答案 0 :(得分:0)
我看不到你在哪里告诉你的代码什么牌子要拿...你试过这个吗?
var brandModel = new app.Model.BrandModel({brandId: "fc692c70-4096-11e3-a0f2-3c970e02b4ec"});
brandModel.fetch();
答案 1 :(得分:0)
fetch
执行异步HTTP(Ajax)请求,因此我将fetch
成功回调,现在我看到了模态值。
brandModel.fetch({
success: function(){
console.log(brandModel.toJSON());
}
});
答案 2 :(得分:0)
应该是:
app.Model.BrandModel = Backbone.Model.extend({
idAttribute: 'brandId',
urlRoot : '/rest/brands/',
defaults: {
name : '',
description : '',
brandImage : '',
user : '',
showPro : false,
proDescription : ''
}
});
然后就像@David提到的那样:
var brandModel = new app.Model.BrandModel({brandId: "fc692c70-4096-11e3-a0f2-3c970e02b4ec"});
brandModel.fetch();
答案 3 :(得分:-1)
同样return '/rest/brands/' + brandId;
可能应该是return '/rest/brands/' + this.get("brandId");