我正试图从返回类似true, false
或其他内容的服务器获取响应,这取决于我所做的请求,我正在开发的应用程序使用的是我创建的Restful
服务器,仅出于测试目的,我让它返回true
或false
,稍后我会让它返回正确的json
数据。
在这里,我试图从这个代码中获得响应(我还不确定如何使用promise)
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
服务器返回的数据
我猜这里的问题是$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;
};