这是代码:
loginCtrl.js
var loginapp = angular.module('loginapp', []);
loginapp.controller('loginCtrl', ['$scope','$http','loginService' function($scope,$http,loginService){
$scope.doLogin = function() {loginService.login($scope); }; //call login service
}]);
loginService.js
'use strict';
var loginapp = angular.module('loginapp', []);
loginapp.factory('loginService',function($http){
return{
login:function(scope){
var $promise=$http.post("login/do_login", {'username': $scope.username, 'pass': $scope.pass});
//send data to user.php
console.log($promise);
}
}
});
浏览器在控制台上说:> loginCtrl.js:2未捕获的SyntaxError:意外的令牌功能(第2行出错)
什么错了?
答案 0 :(得分:1)
您在控制器定义中缺少逗号:
var loginapp = angular.module('loginapp', []);
loginapp.controller('loginCtrl', ['$scope','$http','loginService', function($scope,$http,loginService){
$scope.doLogin = function() {loginService.login($scope); }; //call login service
}]);
答案 1 :(得分:1)
loginService.login($scope)
这是不好的方法!
制作用户对象并传递它,而不是整个世界
如果是这个承诺,请在.then()
中得到结果$scope.user = {'username': your_user_name, 'pass': your_password};
$scope.doLogin = loginService.login($scope.user).then(function(result){
... get result
});
.....
login:function(user){
var $promise=$http.post("login/do_login", {'username': user.username, 'pass': user.pass});
//send data to user.php
return $promise;
}
}
答案 2 :(得分:0)
您在这里缺少逗号:
' login服务'功能