[英]Angularjs Factory is undefined in controller
我是angular js的新手,現在我正嘗試使用工廠使代碼更清晰。 但是現在我收到以下錯誤:
$ injector:unpr(未知提供者)。
我卡在這里,找不到問題所在。 Service和此控制器實際上位於不同的文件中,然后我嘗試將它們放在一起,但仍然無法正常工作。 如果您能幫助我解決我的問題,我將非常高興。
var app = angular.module('myApp', ['ngRoute']);
app.factory('AuthenticationService', ['$scope', '$location', function($scope, $location){
var currentUser;
return {
login: function(username, password){
var endPoint = "http://localhost:8080/RestServer/main/just/Authorize";
var jsonData = {
username: username,
password: password
};
var jsonString = JSON.stringify(jsonData);
$http.post(endPoint, jsonString,{headers: {'Content-Type': 'application/json'}}).success(function (data,status, headers ){
if(data.access == "ok")
{
$location.path("learning");
}
else
{
$location.path("error");
}
});
},
logout: function(){},
isLoggedIn: function(){},
curUser: function(){return currentUser}
};
}
]);
app.controller('loginController',['$scope', 'AuthenticationService', function($scope, AuthenticationService)
{
$scope.login = function()
{
AuthenticationService.login($scope.username, $scope.password);
}
}]);
這是html:
<html data-ng-app="myApp">
<head>
<script src="https://code.angularjs.org/1.5.0-rc.0/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.0-rc.0/angular-route.min.js"></script>
<script src="Scripts/app.js"></script>
<script src="Scripts/services.js"></script>
<script src="Scripts/controllers.js"></script>
<link href="CSS/bootstrap.min.css" rel="stylesheet">
<title>Welcome!</title>
</head>
<body>
<div class="container theme-showcase" role="main" ng-view="">
</div>
</body>
只需從工廠中刪除$scope
,通常就不在工廠,服務或提供者內部使用$ scope,也不要將$http
作為依賴項添加,因為您正在進行$ http調用
app.factory('AuthenticationService', [ '$location','$http', function( $location,$http){
}
這是工作中的Application
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.