我正在尝试从服务器获取响应,返回类似true, false
或其他内容的响应,具体取决于我的请求,我正在开发的应用程序正在使用我创建的Restful
服务器,仅出于测试目的,我将其返回true
或false
,之后我将返回正确的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
服务器返回的数据
答案 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;
};