Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

TypeError: dbg is undefined in angularjs

I am learning angularjs and following tutorial from - here

Here is my 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>

this version of controller.js works -

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';
    });

but in the next step i tried fetching this json data with ajax call so controller look like this -

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';
});

But this gives me following error -

TypeError: dbg is undefined. debuggerLib.js (line 530)

I can see in firebug the ajax call is happening with code 304 Not Modified. and i can see data in response. but response content type is not json.

Please look into it and say what is the problem? Am i missing any js file to include or something else.

like image 317
Ravi Kumar Avatar asked Nov 28 '14 07:11

Ravi Kumar


2 Answers

I have had this same error, and after some head scratching found a cause. I can't be sure whether this is your same cause.

Restarting Firefox, rebooting the PC, removing Firebug, reinstalling, optimizing, running registry clean, etc. -- nothing helped. I got error in debuggerLib.js line 556, dbg being undefined.

However, it turns out that I have installed Firebug back in the days, and it created a directory in my Roaming profile:

C:\Users\Leonardo\AppData\Roaming\Mozilla\Firefox\Profiles\Leonardo.Serni\firebug

In that directory there is a lot of JSON files, but none of them dated today, which is when I removed and reinstalled Firebug. So I wondered, "What if the new Firebug is loading something obsolete from this directory?".

I closed Firefox, renamed the directory from "firebug" to "bugfire", reopened Firefox.

Firebug is running perfectly and the error has disappeared. I had done the same thing without renaming the directory and the error did not disappear, so I'm confident that my hypothesis was correct.

The directory has been re-created, but there are now only two files in there - "annotations.json" and "breakpoints.json", both 0 bytes in size. Possibly some day I'll try adding the files from the old directory to see when the error comes back.

Update (thanks to DevNull's comment)

Possibly it is not necessary to nuke the whole directory. Verify that the annotations.json file is zero length. If it is not, just rename it to annotations.old while Firefox is not running.


I'm beginning to suspect that the dbg is actually debugging Firebug itself, and we do not have it defined because we aren't Firebug developers. It has nothing to do with the Firebug debugger that debugs our scripts.

like image 116
LSerni Avatar answered Sep 23 '22 17:09

LSerni


You're probably using FireFox with firebug activated.
Turn off firebug and your issue will go away.

I had the same problem, other browsers had no issue and the console showed the error coming from debuggerLib.js (line 556). Deactivating it removed the error and allowed my application to run as expected.

like image 41
paul Avatar answered Sep 22 '22 17:09

paul