i new to Angularjs and i'm working with a tutorial i saw online, i keep getting the TypeError in this section,
angular.js:14800 TypeError: $http.post(...).success is not a function at Object.authFactory.login (authService.js:15) at Object.vm.doLogin (mainCtrl.js:25)
Kindly find my code below:
index.html
<!Doctype html>
<html ng-app="MyApp">
<head>
<!-- <> -->
<title>user story </title>
<script type ="text/javascript" src='https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js'></script>
<script type ="text/javascript" src='https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.5/angular-route.min.js'></script>
<!-- services -->
<script type="text/javascript" src="app/services/authService.js"></script>
<!-- controllers -->
<script type="text/javascript" src="app/controllers/mainCtrl.js"></script>
<script type="text/javascript" src="app/app.routes.js"></script>
<script type="text/javascript" src="app/app.js"></script>
</head>
routes
angular.module('MyApp', ['appRoutes', 'mainCtrl', 'authService']);
authService
angular.module('authService',[])
.factory('Auth', function($http, $q, AuthToken){
var authFactory = {};
authFactory.login = function(username, password){
return $http.post('/api/login',{
username: username,
password: password
})
.success(function(data){
AuthToken.setToken(data.token);
return data;
})
});
my controller
angular.module('mainCtrl', [])
.controller('MainController', function($rootScope, $location, Auth){
var vm = this;
vm.doLogin = function(){
vm.processing = true;
vm.error = '';
Auth.login(vm.loginData.username, vm.loginData.password)
.success(function(data){
vm.processing = false;
Auth.getUser()
.then(function(data){
vm.user = data.data;
});
if(data.success)
$location.path('/');
else
vm.error = data.message;
});
}
Thanks!