Angularjs:使用自定义操作资源从服务器获取数据响应

时间:2015-11-11 22:08:28

标签: angularjs

我正在尝试从服务器获取响应,返回类似true, false或其他内容的响应,具体取决于我的请求,我正在开发的应用程序正在使用我创建的Restful服务器,仅出于测试目的,我将其返回truefalse,之后我将返回正确的json数据。

这里我试图从这段代码中获得响应(我不知道如何使用promises)

app.service('UserService', ['$resource', function($resource){
    var self = this;

    self.login = function(credentials){
        var handler = $resource('server/web/user/access', null, {
            access: {
                method: 'POST'
            }
        });

        handler.access(credentials).$promise.then(function(data){
            console.log(data);
        });
    }
}]);

现在我只是记录从服务器返回的内容,但是日志显示了另一个承诺。现在我只需要获取数据,这样我就可以创建条件,解析对象或显示从Restful服务器返回的数据

1 个答案:

答案 0 :(得分:1)

我在这里猜测问题是$resource服务要求响应中的对象或数组,并且您的简单布尔值无法正常工作。

目前,您可以使用响应转换器来创建可用对象

var self = this,
    handler = $resource('server/web/user/access', null, {
        access: {
            method: 'POST',
            transformResponse: function(val) {
                return {
                    val: val
                };
            }
        }
    });

self.login = function(credentials) {
    var promise = handler.access(credentials).$promise;
    promise.then(function(data) {
        $log.info(data.val);
    });
    return promise;
};