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"