我创建了一个新项目,但遇到了无法解决的问题。

这是我的示例:

我有这个错误:

“错误:[$ controller:ctrlreg]未注册名称为'PostController'的控制器。”

Connexion.html

<section id="login" ng-controller="PostController as postCtrl">
<div class="container center-bloc">
    <div class="row">
        <div class="col-xs-12">
            <div class="form-wrap">
                <div class="text-center">
                    <img id="logo" style="max-width:100%;" src="img.png">

                </div>
                <h2 id="ResultConnexion"></h2>
                <form role="form" id="login-form" ng-submit="postCtrl.Search1()" method="POST" autocomplete="off">
                    <div class="form-group">
                        <input id="userLogin" required autofocus ng-model="postCtrl.inputData.username" type="text" name="user" id="email" class="form-control" placeholder="[email protected]">
                    </div>
                    <div class="form-group">
                        <input id="userPassword" required ng-model="postCtrl.inputData.password" type="password" name="mdp" id="key" class="form-control" placeholder="Password">
                    </div>
                    <button type="submit" class="btn btn-custom btn-lg btn-block" ng-disabled="login.$invalid" >Connexion</button>
                    <div class="alert alert-danger" ng-show="errorMsg">
                        <button type="button" class="close" data-dismiss="alert" aria-hidden="true">
                            ×</button>
                        <span class="glyphicon glyphicon-hand-right"></span>&nbsp;&nbsp;{{errorMsg}}
                    </div>
                    <div></div>
                </form>
                <hr>
            </div>

        </div>
    </div>
</div>




指数。 js

'use strict';
var routeApp  = angular.module("routeApp", ["ngRoute"]);
routeApp.config(function($routeProvider) {
$routeProvider
    .when("/", {
        url: "/",
        templateUrl : "template/connexion.html",
        controller : "PostController"
    })

});






var routeAppControllers = angular.module('routeAppControllers',['ngRoute']);



routeAppControllers.controller('PostController', ['$scope', '$http', function($scope, $http) {


this.postForm = function() {



    var Pass = {"user":(this.inputData.username),"mdp":(this.inputData.Password)};

    $http({
        method: 'POST',
        url: '/',
        data: Pass,
        headers: {'Content-Type': 'application/json'}
    })

        .then(function(response) {


            if ( response.data.resultat == 0) {

                window.location.href = '/information';
                alert('hello')

            } else {
                $scope.errorMsg = 'Bad';
            }
        }, function(response) {
            // called asynchronously if an error occurs
            // or server returns response with an error status.
        })
}

}]);


有人可以帮忙吗?

最佳答案

您有两个单独的模块显示,并且两个都没有注入。

假设您的ng-app使用routeApp,则需要将routeAppControllers模块注入到routeApp模块中

var routeApp = angular.module("routeApp", ["ngRoute", "routeAppControllers"]);


同样,您只需要注入一次ngRoute

如其他答案所述,您仅在ng-controller也未在路由配置中声明时使用,否则最终会遇到多个控制器实例

09-17 21:40