Angular JS错误:未捕获的SyntaxError:意外的令牌功能

时间:2015-06-12 07:39:23

标签: angularjs login

这是代码:

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行出错)

什么错了?

3 个答案:

答案 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服务'功能