2014-10-24 2 views
1

변경할 수없는 서비스에서 json 데이터를 가져옵니다. 이 데이터를 Ember.ArrayController에로드하려고합니다. 프로파일 어설 션 실패 : 경로를 처리하는 동안경로 처리 중 EmberJS 오류가 발생했습니다.

오류 : 내가 처리하고

오류는 모두 ArrayProxy는 배열 또는 Ember.ArrayProxy을 기대하고 있지만

데이터 형식이

과 같은 객체를 전달
var testData = 
{ 
    "CustomerProfilesResult": [ 
     { "DOB": "10\/23\/1969 12:00:00 AM", "DateEnrolled": "7\/10\/2014 12:00:00 AM", "FirstName": "Rob", "LastName": "Weiner", "ProfileId": 1 }, 
     { "DOB": "10\/23\/1979 12:00:00 AM", "DateEnrolled": "10\/3\/2014 12:00:00 AM", "FirstName": "Repub", "LastName": "Smitty", "ProfileId": 1 }, 
     { "DOB": "10\/23\/1978 12:00:00 AM", "DateEnrolled": "10\/17\/2014 12:00:00 AM", "FirstName": "Democrat", "LastName": "Johnson", "ProfileId": 1 }, 
     { "DOB": "10\/23\/1996 12:00:00 AM", "DateEnrolled": "10\/18\/2014 12:00:00 AM", "FirstName": "Itchy", "LastName": "Digger", "ProfileId": 1 }] 
}; 

이것은 간단해야하지만 ... Ember는 CustomerProfilesResult에 래핑되지 않은 경우에만 필요합니다. 나는

 return Ember.$.getJSON(getProfiles) 
     .success(function(data){ 
      return data; 
     }).error(function(){ 
      alert('error happened... should have caught this.') 
     }); 

실패하지만 테스트하는 동안 내가 그렇게 그

return testData.CustomerProfilesResult; 

잘 돌아왔다 둘

return Ember.$.getJSON(getProfiles) 
     .success(function(data){ 
      return data.CustomerProfilesResult; 
     }).error(function(){ 
      alert('error happened... should have caught this.') 
     }); 

를 반환하려고했습니다 혼란 스럽다. 나는 그 바보 같은 것을 안다. 나는 할 수 있으면 놓치고있다.

답변

1

success은 반환 값을 신경 쓰지 않으므로 약속이 해결되면 모델 후크로 반환되지 않습니다. 원본 json 데이터는 성공 호출과 약속의 then 부분으로 전송됩니다.

return Ember.$.getJSON(getProfiles) 
.then(function(data){ 
    return data.CustomerProfilesResult; 
}); 

예 : http://emberjs.jsbin.com/hafaj/edit

+0

덕분에, 나는 그것이 내가 아직 파악하지 않았다 뭔가했다 알고 있었다. 학습 과정을 겪으면서 ... 내 고전적인 과거를 내 마음에서 벗어나려고 노력합니다. 사람 싸움. – hal9000

관련 문제