Json Data
{
"TotalRecordCount": 50,
"Results": [
{
"TestId": 5002,
"TestName": "Test 01/05/2016"
}
]
}
我的服务
function getTestSchedule() {
var deferred = $q.defer();
$http.get(TestAppConfig.TestApiRoot + "/Tests/gettestschedule/").then(function (response) {
deferred.resolve(response);
}, function (resp) {
deferred.reject(resp);
});
return deferred.promise;
};
我的控制器代码
TestVm.test = TestModel.getTestSchedule;
所以这里控制器正在对web api进行http调用,而不是http调用如何用上面的json数据绑定页面
答案 0 :(得分:2)
我不确定我是否理解你的问题,但你为什么不这样做:
TestModel.getTestSchedule().then(function(result) { TestVm.test = result; });
也许您必须将result
替换为result.data
。此外,你的服务有点奇怪,你为什么不这样做:
function getTestSchedule() {
return $http.get(TestAppConfig.TestApiRoot + "/Tests/gettestschedule/");
};
您的代码只会创建一个Promise
模仿$http.get
返回的代码,因此您只需返回$http.get
中的一个。
修改强>
请参阅此plunker:http://plnkr.co/edit/5IqDNDoN4ewb5klKnzeU
编辑2
最后,根据下面的讨论,预期的答案很简单:
TestVm.test = {
"TotalRecordCount": 50,
"Results": [ ... ]
}