Я пытаюсь использовать $ ресурс для взаимодействия API REST с помощью следующего кода:
Внутри завода:
api.user = $resource(api.baseUrl + '/admin/login', {}, {
login: {method:'POST'}
});
один контроллер:
vm.user.$login().$promise.then(function(successResult) {
console.log(successResult);
}, function(errorResult) {
console.log(errorResult);
if(errorResult.status === 404) {
}
});
Я получаю ошибку: «TypeError: Невозможно прочитать свойство 'then' of undefined, поскольку $ object не определено для объекта ресурса.
Question 1: I read on multiple questions that one can use the $promise property to write the callbacks. What am I doing wrong here that the $promise property is coming as undefined for login method on user object.
контроллер Два:
vm.user.$login(function(successResult) {
console.log(successResult);
}, function(errorResult) {
console.log(errorResult);
if(errorResult.status === 404) {
}
});
Это правильно обрабатывает обращение успеха/ошибку, однако на объекте successResult, есть два дополнительные свойство $ обещания: не определены, $ Постановили: правда, в то время как я предполагал, что successResponse должен быть фактическим простым объектом, возвращаемым сервером, но он выглядит как экземпляр $ resource.
Q2: Is there a way to capture the plain object returned by the server while using the $resource, not having $resource properties?
Любая помощь для устранения путаницы оценивается.
согласно угловым документам, $ resource retu rns объект, в то время как в ControllerOne вы пытаетесь получить ресурс 'prom' – batmaniac7
$, возвратил объект, который я назначил api.user, а затем я вызываю метод $ login на нем, который, согласно моему пониманию (это не совсем верно) должен возвращать объект ресурса и действительное свойство $ prom, в то время как оно появляется как неопределенное. Надеюсь, это немного объяснит это. – user1242321
@ user1242321, можете ли вы взглянуть в мой ответ? – developer033