【发布时间】:2015-05-28 02:31:24
【问题描述】:
我正在尝试使用 Angular 的 ngResource 模块从服务器发送接收响应。我正在使用承诺,但它不起作用,我认为我的代码可能有问题。事情就是这样:
控制器:
var LoginController = angular.module('LoginController', [
]);
LoginController.controller("LoginController", ['$scope','$location','LoginService', function($scope, $location, LoginService) {
$scope.user = {}
$scope.checkCredentials = function () {
var userCredentials = LoginService.get();
userCredentials.$promise.then(function(result){
$scope.user.login = response.login;
$scope.user.password = response.password;
});
};
}]);
休息模块:
var RestServices = angular.module('RestServices', ['ngResource']);
RestServices.factory('LoginService', ['$resource','$routeParams',
function($resource, $routeParams){
return $resource('/user',{},{
get: {method:'GET', isArray:false}
});
}]);
如果我把这条线:
var userCredentials = LoginService.get();
直接在控制器的声明中,它工作并且对象用户被正确填充并发送到我的视图,但是当我尝试在通过单击按钮调用的函数中执行此操作时(就像在我的代码中一样)它没有正确填充用户对象。我的代码可能有什么问题? 提前致谢。
【问题讨论】:
-
你能把其他代码sn-p吗?
-
.then*function(result) 但从响应中提取数据?
-
在你的 LoginService.get() 调用中添加一个 .catch 块来查看是否有失败
-
您是否在视图中为用户对象使用了两种方式的绑定语法?
-
是的,两种方式绑定工作正常(使用静态值测试我正在使用的变量)
标签: angularjs promise ngresource