cloak angularjs

angularjs - ng-cloak



El error AngularJS.success no es una función (6)

He creado una fábrica para manejar las funciones de mi controlador, pero de alguna manera el controlador devuelve un error en una de las funciones:

Error: Auth.getUser (...). El éxito no es una función @ http://localhost:8080/app/controllers/mainCtrl.js:10:1
...

No tengo idea de lo que está pasando aquí, el resto de las funciones parecen estar funcionando bien.

controlador principal:

angular.module(''mainCtrl'', []) .controller(''mainController'', function($rootScope, $location, Auth) { var vm = this; vm.loggedIn = Auth.isLoggedIn(); $rootScope.$on(''$routeChangeStart'', function() { vm.loggedIn = Auth.isLoggedIn(); Auth.getUser() .success(function(data) { vm.user = data; }); }); vm.doLogin = function() { Auth.login(vm.loginData.username, vm.loginData.password) .success(function(data) { $location.path(''/users''); }); }; });


Aqui esta el codigo

Código depricado

$http( { method: ''POST'', url: ''/Home/CreateCustomer'', /*You URL to post*/ data: $scope.cust /*You data object/class to post*/ }).success(function (data, status, headers, config) { }).error(function (data, status, headers, config) { });

Código permitido Angular $ http docs

$http( { method: ''POST'', url: ''/Home/CreateCustomer'', /*You URL to post*/ data: $scope.cust /*You data object/class to post*/ }).then(function successCallback(response) { // this callback will be called asynchronously // when the response is available }, function errorCallback(response) { // called asynchronously if an error occurs // or server returns response with an error status. });


Consulte el '' Aviso de desaprobación '' de la documentación del servicio $ http :

Los métodos de promesa heredados $ http han sido desaprobados y han tenido éxito . Utilice el método estándar de entonces en su lugar.

Puede obtener más información sobre estos métodos en la documentación sobre $ q .


Es bueno que .success sea desaprobado de todos modos. Yo personalmente nunca hice las paces con eso, ¿por qué lo preguntas?

object.functionCall(parameters).success(functions (response){ if(response!=="failure") do this----- });

Me refiero a qué tipo de éxito lidiar con el fracaso dentro de su bloque. Use entonces en su lugar y toda la lógica comenzará a tener sentido.


La promesa de éxito está en desuso ahora. Use luego la función en lugar de éxito


Puede usar luego instate éxito:

var personController = function ($scope, personService) { $scope.persons = personService.getAll().then(function (data) { $scope.persons = genericSuccess(data); }); var genericSuccess=function(res) { return res.data; } };


angular versión 1.2.x puede usar .success angular versión 1.6.x obtendrá el error ".success no es una función"

la solución es: reemplazar ".success" con ".then"