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"