gpt4 book ai didi

javascript - Angularjs Factory 在 Controller 中未定义

转载 作者:行者123 更新时间:2023-12-03 08:03:52 25 4
gpt4 key购买 nike

我是 Angular JS 的新手,现在我正在尝试使用工厂来使代码更清晰。但现在我收到以下错误:

$injector:unpr(Unknown provider).

我卡在这里,找不到问题出在哪里。服务和这个 Controller 实际上在不同的文件中,然后我尝试将它们放在一起,但仍然不起作用。如果您能帮助我找出我的问题,我将非常高兴。

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

关于javascript - Angularjs Factory 在 Controller 中未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34477784/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com