【问题标题】:Microsoft JScript runtime error: [$injector:modulerr] in AngularJS v1.3.0-beta.11Microsoft JScript 运行时错误:AngularJS v1.3.0-beta.11 中的 [$injector:modulerr]
【发布时间】:2014-06-09 06:09:02
【问题描述】:

我遇到了

的错误
Microsoft JScript runtime error: [$injector:modulerr] http://errors.angularjs.org/1.3.0-beta.11/$injector/modulerr?p0=MyApp&p1=%5B%24injector%3Anomod%5D%20http%3A%2F%2Ferrors.angularjs.org%2F1.3.0-beta.11%2F%24injector%2Fnomod%3Fp0%3DMyApp

我怎样才能解决这个问题?我正在使用最新版本的AngularJS,即AngularJS v1.3.0-beta.11

这是我的index.htm 代码:

<!DOCTYPE html>

<html lang="en" ng-app="MyMVC">
<head>
    <meta http-equiv="x-ua-compatible" content="IE=9" charset="UTF-8"/>
    <title></title>
    <script src="lib/jquery-1.11.1.min.js" type="text/javascript"></script>
    <script src="JSON3.min.js" type="text/javascript"></script>
    <script src="lib/angular/angular.min.js" type="text/javascript"></script>
    <script src="lib/angular/angular-route.min.js" type="text/javascript"></script>
    <script src="lib/angular/app.js" type="text/javascript"></script>
    <script src="lib/angular/controllers.js" type="text/javascript"></script>
</head>
<body>
    <div ng-view></div>

这是我的app.js 代码

    var myApp = angular.module('MyMVC', [
    'ngRoute',
    'logController'
]);

myApp.config(['$routeProvider', function($routeProvider)]{
    $routeProvider.
    when('/list', {
        templateUrl: 'partials/list.htm',
        controller: 'ListController'
    }).
    otherwise({
        redirectTo: '/list'
    });
});

这是我的controller.js 代码:

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

logController.controller('ListController', function ($scope, $http) {
    $http.post('testws.asmx/GetLogs', {
        headers: { 'Content-Type': 'application/json; charset=utf-8' }
    }).success(function (data) {
        $scope.logs = data.d;
        $scope.orderRecord = 'RecordId';
    })
    .error(function (err) {
        $scope.error = err["Message"];
    });
});

任何建议都会有很大帮助。谢谢!

更新:将 Angular js 缩小版更改为不 这是新的错误提示:

    Microsoft JScript runtime error: [$injector:modulerr] Failed to instantiate module MyMVC due to:
[$injector:nomod] Module 'MyMVC' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.
http://errors.angularjs.org/1.3.0-beta.11/$injector/nomod?p0=MyMVC
http://errors.angularjs.org/1.3.0-beta.11/$injector/modulerr?p0=MyMVC&p1=%5B%24injector%3Anomod%5D%20Module%20'MyMVC'%20is%20not%20available!%20You%20either%20misspelled%20the%20module%20name%20or%20forgot%20to%20load%20it.%20If%20registering%20a%20module%20ensure%20that%20you%20specify%20the%20dependencies%20as%20the%20second%20argument.%0Ahttp%3A%2F%2Ferrors.angularjs.org%2F1.3.0-beta.11%2F%24injector%2Fnomod%3Fp0%3DMyMVC

【问题讨论】:

  • 使用像 1.1 这样的稳定​​版本而不是 beta 版本,同时在 app 之前加载 controller
  • @JonathandeM。我已经试过了,但错误仍然存​​在

标签: javascript html angularjs angularjs-routing


【解决方案1】:

如果没有实际示例,则无法真正进行调试。
一些提示:

错误是指无法实例化名为 MyApp 的模块。仔细检查您的标记与您的 javascript 具有相同的 ng-app。

如果您在查看异常时切换到非缩小版本的 Angular,它也有助于调试。

【讨论】:

  • 谢谢,我会尝试使用非缩小版
【解决方案2】:
 myApp.config(['$routeProvider', function($routeProvider){
    $routeProvider.
    when('/list', {
        templateUrl: 'partials/list.html',
        controller: 'ListController'
    }).
    otherwise({
        redirectTo: '/list'
    });
}]);

解决问题,我只是放错了] 并将其移到最后。感谢所有帮助:-)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-11
    • 1970-01-01
    • 1970-01-01
    • 2016-10-03
    • 2011-04-20
    • 2011-03-25
    相关资源
    最近更新 更多