错误:$ injector:modulerr模块错误。应用程序无法路由到不同的页面

时间:2017-10-24 00:31:54

标签: javascript angularjs

我收到了上述错误。我刚开始一个Angular项目,这不是我的第一个牛仔竞技表演,但我之前从未收到过这个错误。

下面是我的带有include语句的html和JS代码。我错过了一个脚本,还是我错误地初始化了我的模块?



<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Examples of Exploits</title>
    <link rel="stylesheet" type="text/css" href="main.css">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular-resource.min.js"></script>
</head>

<body ng-app="app">

    <div class="navbar navbar-inverse">
        <div class = "container-fluid">
            <div class="navbar-header">
                <button type="button" class="navbar-toggle" data-toggle="collapse"
                        data-target="#myNavbar">
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
                <a class="navbar-brand" href="#">Exploit Examples</a>
            </div>
            <div class="collapse navbar-collapse" id="myNavbar">
                <ul class="nav navbar-nav">
                    <li class="active"><a href="/!">Home</a></li>
                    <li><a href="#!sqlInjection">SQL Injection</a></li>
                </ul>
            </div>
        </div>
    </div>
    <div ng-view></div>
</body>
</html>
&#13;
&#13;
&#13;

&#13;
&#13;
var app = angular.module('app', []);

app.config(['$routeProvider', function($routeProvider){
    $routeProvider.when("/",{
        templateUrl : index.html
    })
        .when("/sqlInject", {
            templateUrl:sqlInjection.html
        });
}])
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:1)

使用<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular-route.js"></script>并将"sqlInjection.html""index.html"放在引号中,将'ngRoute'放在var app = angular.module('app', ['ngRoute']);

我在codepen上做了一个例子,它可以帮助你https://codepen.io/Ferhad/project/editor/DGgPKb#

答案 1 :(得分:0)

您似乎忘了在应用中注入ngRoute。你可以这样做:

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

并且不要忘记包含angular-route的脚本,例如从这里开始(但你最好使用本地版本!):

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular-route.js"></script>

我不知道,在您使用定义应用模块和路由导入脚本的位置,您似乎忘记将其包含在HTML中。

答案 2 :(得分:0)

我根据@CommercialSuicide的答案做了一个小提琴。

这是小提琴。

我认为在templateUrl中缺少'会发生此问题。

试试这个。

https://jsfiddle.net/Canet/osvjc8mb/

app.config(['$routeProvider', function($routeProvider){
    $routeProvider.when("/",{
        templateUrl : 'index.html'
    })
    .when("/sqlInject", {
        templateUrl: 'sqlInjection.html'
    });
}])