Я пытаюсь отправить полученный ответ с сервера с помощью модуля ngResource Angular. Я использую обещания, но это не работает, я думаю, что может быть что-то не так с моим кодом. Он идет как:Использование обещаний в Angular's 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;
});
};
}]);
Rest модуль:
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();
непосредственно в объявлении контроллера, он работает и пользователь объекта заполняется правильно и отправляет на мое представление, но когда я пытаюсь сделать это в функции, вызванной нажатием кнопки (l ike это в моем коде), он не заполняет пользовательский объект должным образом. Что может быть неправильным с моим кодом? Спасибо заранее.
Не могли бы вы поставить другой фрагмент кода, пожалуйста? –
.then * функция (результат), но вытягивание данных из ответа? – Cerad
добавьте блок .catch к вызову LoginService.get(), чтобы узнать, не сработало ли что-то. – JackNova