2013-10-29 6 views
0
app.Model.BrandModel = Backbone.Model.extend({ 
    idAttribute: 'brandId', 
    defaults: { 
    name : '', 
    description : '', 
    brandImage : '', 
    user : '', 
    showPro : false, 
    proDescription : '' 
    }, 
    url : function(){ 
    return '/rest/brands/' + brandId; 
    } 
}); 

방화벽 서버에서 내 서버가 다음 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

fetch해야 비동기 HTTP (아약스) 요청을 수행, 그래서 나는 fetch에게 성공 콜백을 passeed 지금은 모달 값을보고하고 .

brandModel.fetch({ 
    success: function(){ 
     console.log(brandModel.toJSON()); 
    } 
}); 
0

당신이 가져 brandId 코드를 말하는 곳이를 시도 내가 ... 표시되지 않는 이유는 무엇입니까?

var brandModel = new app.Model.BrandModel({brandId: "fc692c70-4096-11e3-a0f2-3c970e02b4ec"}); 
brandModel.fetch(); 

더 많은 정보 : How do I fetch a single model in Backbone? 또한 return '/rest/brands/' + brandId;

-1

아마 return '/rest/brands/' + this.get("brandId");

0

은 다음과 같아야합니다 다음

app.Model.BrandModel = Backbone.Model.extend({ 
    idAttribute: 'brandId', 
    urlRoot : '/rest/brands/', 
    defaults: { 
    name : '', 
    description : '', 
    brandImage : '', 
    user : '', 
    showPro : false, 
    proDescription : '' 
    } 
}); 

@ 데이비드 언급처럼 :

var brandModel = new app.Model.BrandModel({brandId: "fc692c70-4096-11e3-a0f2-3c970e02b4ec"}); 
brandModel.fetch(); 
관련 문제