我从一个我无法改变的服务中获取json数据。我正在尝试将此数据加载到Ember.ArrayController中。
我正在处理错误:
处理路径时出错:配置文件断言失败:ArrayProxy需要一个Array或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中时,Ember只想要它。我试过回来了
return Ember.$.getJSON(getProfiles)
.success(function(data){
return data;
}).error(function(){
alert('error happened... should have caught this.')
});
和
return Ember.$.getJSON(getProfiles) .success(function(data){ return data.CustomerProfilesResult; }).error(function(){ alert('error happened... should have caught this.') });
两者都以
失败但在测试过程中我已经返回了
return testData.CustomerProfilesResult;
很好,所以它令人困惑。我知道它有些愚蠢我不知道......如果可以,请帮助。
答案 0 :(得分:1)
success
不关心您返回的值,因此在解析promise时它不会返回到模型钩子。原始json数据将发送到成功调用和promise的then
部分。
return Ember.$.getJSON(getProfiles)
.then(function(data){
return data.CustomerProfilesResult;
});