javascript - 防止angularjs服务中的自动调用功能

标签 javascript angularjs

我是 AngularJs 的新手,我有一个问题,当我运行我的应用程序时,工厂函数调用两次。我想通过从工厂函数调用函数来阻止。

这是我的代码:-

advisoryApp.config(function ($routeProvider) {
    $routeProvider
            .when('/', {
                templateUrl: 'pages/home.html',
                controller: 'mainCtrl'
            })
            .when('/about', {
                templateUrl: 'pages/about.html',
                controller: 'aboutController'
            })
            .when('/contact', {
                templateUrl: 'pages/contact.html',
                controller: 'contactController'
            });
});

advisoryApp.factory('HttpResponse', function ($http) {
    return{
        getHttpResponse: function (method, url, data) {
            return $http({
                url: url,
                method: method,
                data: data
            })
        }
});

advisoryApp.controller('mainCtrl', function ($scope, HttpResponse, $rootScope) {
    $scope.allAdvisoryData = '';
    var segment_id = 5;
    var url = $rootScope.base_url + "web_service/call_listing/" + segment_id;
    var data = 'segment_id=' + segment_id;

    $scope.message = 'Everyone come and see how good I look!';
    HttpResponse.getHttpResponse('POST', url, data).success(function (data) {
        console.log(data);
    });
});

这是我的输出:-

这里 api 即 POST http://localhost/advisory_mandi/web_service/call_listing/5 调用两次,但我想要,它应该只调用一次。 enter image description here

最佳答案

最常见的原因是您初始化 Controller 两次。 几个选项:

  • Controller 从路由器和带有 ng-controller 的 html 初始化
  • 应用程序初始化了两次。也许你调用 ng-app 两次
  • 从 JavaScript 和 html 引导的应用程序

关于javascript - 防止angularjs服务中的自动调用功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34902414/

相关文章:

javascript - 将 Promise 与 Mongoose 结合使用的最佳实践

javascript - 如何使我的 JavaScript 代码在开发者控制台中不可读?

javascript - 创建一个小型 jQuery 插件

javascript - Angular array.push() 返回空对象

javascript - Angular 应用程序出现错误 : TypeError: Cannot read property 'then' of undefined

javascript - 将 resx 编译为 Javascript

javascript - 如何在段落中找到一个不强的元素

Angular 模板中的 Javascript 广告

AngularJs:未评估 ng-show/ng-hide 表达式

javascript - 通过比较另外两个 json 对象来创建一个 json 对象