简体   繁体   中英

Angularjs Uncaught Error: [$injector:unpr]

I am developing shoping website with java and I am using angurajs.

I have problem with thise files:

DashboardControll.js

    'use strict';
var app = angular.module("DashboardApp", []);

app.controller("DashboardCtrl", function($scope, $http, Authentication) {
    $http.get("/SalonNamestaja/namestaj")
    .success(function(response) {
        $scope.namestaji = response;
    });


        $http.get("/SalonNamestaja/ActiveUser")
        .success(function(response) {
            //console.log(response);


            $(".navbar-brand").empty();
            $(".navbar-brand").append("Dobrodosli " + response.name);

            $scope.activeUser = response;
        });

        console.log(Authentication.getUser());
});

app.run(function(Authentication) {
    Authentication.requestUser();
});

Authentication.js

'use strict';

angular.module('authApp').service('Authentication', function Authentication($q, $http) {
    var authenticatedUser = null;

    return {
        requestUser: function() {
            var deferred = $q.defer();

            $http.get("/SalonNamestaja/ActiveUser")
            .success(function(user) {
                console.log(user);
                authenticatedUser = user;

                deferred.resolve(user);
            }).error(function(error) {
                deferred.reject(error);
            });

            return deferred.promise;
        },

        getUser: function() {
            return authenticatedUser;
        },

        exists: function() {
            return authenticatedUser != null;
        }
    }
})

When I load page in browser I get the error :

Uncaught Error: [$injector:unpr] http://errors.angularjs.org/1.2.17/ $injector/unpr?p0=AuthenticationProvider%20%3C-%20Authentication

Please can somebody help me to solve this error.

Looks like you are using two angular.module inside you application authApp & DashboardApp , then you should have make available your service to DashboardApp module by inject authApp into it.

var app = angular.module("DashboardApp", ["authApp"]);

Assuming authApp should be intialize somewhere like this angular.module('authApp',[])

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM