0
コントローラ
var ToDo=angular.module('ToDo',[]);
ToDo.controller('resetPasswordController',function($scope,resetPasswordService,$location){
$scope.resetPassword=function(){
var message=resetPasswordService.resetPassword($scope.user);
message.then(function(response){
console.log(response.data.message);
if(response.data.message=="password is reset")
$location.path("/login");
});
}
});
サービスファイルをファイル
var ToDo = angular.module('ToDo',['ngResource']);
ToDo.factory('resetPasswordService', function($resource,$http) {
var token=sessionStorage.getItem("token");
var details = {};
if(token!=null){
console.log(token);
sessionStorage.removeItem("token");
details.resetPassword = function(user) {
/*user.$save();*/
return $resource('http://localhost:8080/ToDo/forgotPassword/resetPassword/:Token',{Token:token});
}
}
return details;
});
mainapp.js
var ToDo = angular.module('ToDo', [ 'ui.router']);
ToDo.config([ '$stateProvider', '$urlRouterProvider',
function($stateProvider, $urlRouterProvider) {
$stateProvider.state('resetPassword', {
url : '/resetPassword',
templateUrl : 'template/resetPassword.html',
controller : 'resetPasswordController'
});
$urlRouterProvider.otherwise('resetPassword');
} ]);
に登録されていません
テンプレートファイル
<form>
<h3 align="center">Re-set New Password</h3>
<div class="col-sx-12 col-md-12 col-lg-12">
<div class="form-group">
<label class="control-label">Enter New Password</label>
<input type="password" class="form-control"
data-ng-model="user.newPassword" name="emailId" required>
</div>
</div>
<div class="col-sx-12 col-md-12 col-lg-12">
<div class="form-group">
<label class="control-label">Re-Enter The New Password</label>
<input type="password" class="form-control"
data-ng-model="user.reEnterNewPassword" name="username" required>
</div>
</div>
<div class="col-sx-12 col-md-12 col-lg-12">
<div class="form-group">
<button id="buttons" type="submit" data-ng-click="resetPassword()">Submit</button>
</div>
</div>
<div class="col-sx-12 col-md-12 col-lg-12">
<div class="form-group">
<div>
Want To try <a href="#!/login">Sign-In Again?</a>
</div>
</div>
</div>
<div class="row"></div>
</form>
index.jspを
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet"
href="http://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
<link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" href="css/scriptpage.css">
<script type="text/javascript"
src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript"
src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script type="text/javascript"
src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.6/angular.min.js"></script>
<script type="text/javascript"
src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.4/angular-resource.js"></script>
<script type="text/javascript"
src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/1.0.3/angular-ui-router.min.js"></script>
<script type="text/javascript"
src="controller/resetPasswordController.js"></script>
>
<script type="text/javascript" src="script/ToDoApp.js"></script>
</head>
<body data-ng-app="ToDo">
<div data-ui-view></div>
</body>
</html>
私は、コントローラの前にToDoApp.jsを入れて、私の見解にサービスを提供するときだけ、空白になり、私はそれらのHTMLページの後に入れたときに表示けどさエラー:$ controller:ctrlreg この名前のコントローラは登録されていません。 resetPasswordControllerの場合 この問題で私を助けてください。
はい、[ngResource]を削除するとすべて正常に動作します。なぜ??
を注入すべきコントローラやサービスのファイルでは、バージョンの互換性が原因です。 Angular ** 1.6.6 **を使って作業しているなら、* 1.4.4 *ではなくngResource ** 1.6.6 **で作業する必要があります。 https://ajax.googleapis.com/ajax/libs/angularjs/1.6.6/angular-resource.js – Zooly