AngularJS application makes multiple backend requests

I have an Angular application that makes some calls (POST and GET) to a backend service (powered by node.js with a REST interface). When developing the application, I noticed that it accesses the backend every time you click a button or load a page. It is curious that everything works, but every time I press a button, the backend receives two requests. I do not use any fancy packages only ngRoute, ngResource and routeStyles for partial css. Does anyone have an idea what could be the reason why the application behaves this way?

I really found another question similar to this one, but the OP used an expression aside from Angular and there is no answer ...

EDIT added code.

in app.js:

 'use strict';

    var cacheBustSuffix = Date.now();

    angular.module('myApp', ['myApp.controllers', 'myApp.services', 'myApp.filters', 'ngRoute', 'ngResource', 'routeStyles'])
            .config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) {
                    $locationProvider
                            .html5Mode({enabled: true,
                                requireBase: false})
                            .hashPrefix('!');

                    $routeProvider
                            .when('/', {redirectTo: '/myApp'})
                            .when('/myApp', {
                                templateUrl: '/partials/home.html?cache-bust=' + cacheBustSuffix,
                                controller: 'ctrlHome'
                            })
                            .when('/myApp/search', {
                                templateUrl: '/partials/search.html?cache-bust=' + cacheBustSuffix,
                                controller: 'ctrlSearch'
                            })
                            .when('/myApp/list/', {
                            templateUrl: '/partials/list.html?cache-bust=' + cacheBustSuffix,
                            controller: 'ctrlList'
                            })
                            // a bunch of other redirections
                            .otherwise({
                                templateUrl: '/partials/404.html?cache-bust=' + cacheBustSuffix,
                                controller: 'ctrl404'});
                }]);

from services.js:

'use strict';

var app = angular.module('myApp.services', ['ngResource']).
        factory('List', function ($resource) {
            return $resource(WSROOT + '/search', {}, {get: {method: 'GET', isArray: false}});
        });

controllers.js, ,

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

var ctrlList = controllers.controller('ctrlList', function ($scope, $window, List) {
    $window.document.title = 'myApp - List';

    List.get({}, function (data) {
        // $scope.res is an array of objects
        $scope.res = data.response;
        $scope.nitems = data.response.length;
      });
    });
    ctrlList.$inject = ['$scope', 'List'];

+ home . , , , ( ), , , , , -:

network stack

+4
1

HTML ? . , , , , .

//Home
    .state('tab.home', {
        url: '/home',
        views: {
            'tab-home': {
                templateUrl: 'templates/tab-home.html',
                controller: 'HomeCtrl' // <-- This goes away
            }
        }
    })
+5

All Articles