Получить ответ с помощью ngResource
Я создал фабрику, где у меня есть метод, формирующий объект 'create', а контроллер вызывает с помощью команды submit REST. Теперь я хотел бы получить данные ответа, потому что на консоли я вижу, что запрос был успешным. Как это сделать? Как получить ответ? Я бы добавил, что для меня это цифра 32.
app.factory('Claims', ['$resource', function($resource) {
return $resource('/portal/rest/registerClaim', null,
{
'create': { method: 'POST' }
});
}]);
app.controller('ClaimCtrl', ['$scope', 'Claims', function($scope, Claims) {
$scope.registerClaim = function (PIN) {
console.log(PIN);
var obj = {
"t":t,
"a":"t",
"b":"z",
"c":"x",
"d":"q"
};
var a= Claims.create(obj);
console.log(a);
}
}]);
1 ответ
Решение
Методы ngResource асинхронны, поэтому вы можете получить ответ, используя $ обещание
Вы можете прочитать этот документ о $ resource. https://docs.angularjs.org/api/ngResource/service/$ resource
Я изменил твой код здесь.
app.factory('Claims', ['$resource', function($resource) {
return $resource('/portal/rest/registerClaim', null,
{
'create': { method: 'POST' }
});
}]);
app.controller('ClaimCtrl', ['$scope', 'Claims', function($scope, Claims) {
$scope.registerClaim = function (PIN) {
console.log(PIN);
var obj = {
"t":t,
"a":"t",
"b":"z",
"c":"x",
"d":"q"
};
Claims.create(obj).$promise.then(function(resp) {
$scope.resp = resp;
});
}
}]);