从$ resource.get promise中提取JSON对象

时间:2014-05-25 05:19:12

标签: javascript json angularjs angular-resource dhtmlx-scheduler

我刚开始探索AngularJS。有什么办法可以提取从服务器返回的原始JSON吗?

我正在尝试使用来自WebAPI的$resource.get获取一些数据。与我原来的JSON相比,返回的promise包含一些额外的属性。

当我将此对象(从$resource.get返回)分配给我的一些Javascript控件(如DHTMLX Scheduler)时,它无法正常工作但如果我使用$ http则返回纯JSON并且控件完美无缺。

我更感兴趣的是使用$ resource,因为它已在其余的Angular控制器中使用。

1 个答案:

答案 0 :(得分:1)

假设您有一个使用资源定义的服务:

app.factory('LoginService', function($resource, API_URL) {
    return $resource(API_URL + '/login.json');
});

然后在控制器的其他地方(例如),您想要使用该服务:

var loginRequest = LoginService.get({
    email: email,
    password: password
}).$promise;

loginRequest.then(function onSuccess(response) {
    // access data from 'response'
    var foo = response.foo;
},
function onFail(response) {
    // handle failure
});

关键是你需要访问$ resource.get()。$ promise,而不是$ resource.get()。