TypeError:在angularjs中未定义dbg

Rav*_*mar 10 html ajax angularjs

我正在学习angularjs并遵循教程 - 来自这里

这是我的index.jsp -

<!doctype html>
<html lang="en" ng-app="phoneCatApp">
<head>
<title>Angular Example</title>
<script type="text/javascript" src="angular/angular.min.js"></script>
<script type="text/javascript" src="app/js/controllers.js"></script>
</head>
<body ng-controller="phoneListCtrl">
    Search : -
    <input ng-model="query"/> Sort by:
    <select ng-model="orderProp">
        <option value="name">Alphabetical</option>
        <option value="age">Newest</option>
        <option value="-age">Oldest</option>
    </select>
    <p>Total number of phones: {{phones.length}}</p>
    <ul>
        <li ng-repeat="phone in phones | filter:query | orderBy:orderProp"><span>{{phone.name}}</span>
            <p>{{phone.snippet}}</p></li>
    </ul>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

这个版本的controller.js有效 -

var phonecatApp = angular.module('phoneCatApp', []);
    phonecatApp.controller('phoneListCtrlOld', function($scope) {
        $scope.phones = [ {
            'name' : 'Nexus S',
            'snippet' : 'Fast just got faster with Nexus S.',
            'age' : 1
        }, {
            'name' : 'Motorola XOOM™ with Wi-Fi',
            'snippet' : 'The Next, Next Generation tablet.',
            'age' : 2
        }, {
            'name' : 'MOTOROLA XOOM™',
            'snippet' : 'The Next, Next Generation tablet.',
            'age' : 3
        } ];
        $scope.orderProp = 'age';
    });
Run Code Online (Sandbox Code Playgroud)

但在下一步中,我尝试使用ajax调用获取此json数据,因此控制器看起来像这样 -

var phonecatApp = angular.module('phoneCatApp', []);
phonecatApp.controller('phoneListCtrl', function($scope, $http) {
    $http.get('app/js/phones.json').success(function(data) {
        $scope.phones = data;
    });
    $scope.orderProp = 'age';
});
Run Code Online (Sandbox Code Playgroud)

但这给了我以下错误 -

TypeError:dbg未定义.debuggerLib.js(第530行)

我可以在firebug中看到ajax调用正在发生,代码为304 Not Modified.我可以看到数据作为回应.但响应内容类型不是json.

请调查一下,说出问题是什么?我错过任何要包含的js文件或其他东西.

LSe*_*rni 11

我有同样的错误,经过一些头部刮伤找到原因.我不能确定这是否是你的原因.

重新启动Firefox,重新启动PC,删除Firebug,重新安装,优化,运行注册表清理等等 - 没有任何帮助.我在debuggerLib.js第556行遇到错误,dbg未定义.

但是,事实证明我已经安装了Firebug,它在我的漫游配置文件中创建了一个目录:

C:\Users\Leonardo\AppData\Roaming\Mozilla\Firefox\Profiles\Leonardo.Serni\firebug
Run Code Online (Sandbox Code Playgroud)

在那个目录中有很多JSON文件,但是今天都没有,这是我删除并重新安装Firebug的时候.所以我想知道,"如果新的 Firebug正在从这个目录中加载过时的东西怎么办?".

我关闭了Firefox,将目录从"firebug"重命名为"bugfire",重新打开Firefox.

Firebug运行完美,错误消失了.我没有重命名目录也做了同样的事情,错误没有消失,所以我相信我的假设是正确的.

该目录已被重新创建,但现在只有两个文件 - "annotations.json"和"breakpoints.json",大小均为0字节.可能有一天我会尝试添加旧目录中的文件,以查看错误何时返回.

更新(感谢DevNull的评论)

可能没有必要核对整个目录.验证annotations.json文件长度是否为零.如果不是,只需annotations.old在Firefox未运行时将其重命名为.


我开始怀疑它dbg实际上正在调试Firebug本身,我们没有定义它因为我们不是Firebug开发人员.它无关,与Firebug的调试器调试我们的脚本.


小智 1

使用此代码 html head 标签。

  <base href="/">
Run Code Online (Sandbox Code Playgroud)

....