Balasubramanian T Ответов: 1

Как очистить неизвестную ошибку инжектора для фабрики в angularjs


Я очень новичок в AngularJs.
во время инъекции фабрики мы получаем неизвестную ошибку поставщика. Для публикации формы я сослался на это


Версия: AngularJs 1.5.5

Под моим контроллером и фабрикой. Кто-нибудь может помочь мне перестроиться.

Что я уже пробовал:

//Factory
angular.module('transformRequestService', [])
    .factory('transformRequestAsFormAsPost',
        function () {
            // I prepare the request data for the form post.
            function transformRequest(data, getHeaders) {
                var headers = getHeaders();
                headers["Content-type"] = "application/x-www-form-urlencoded; charset=utf-8";
                return (serializeData(data));
            }
            // Return the factory value.
            return (transformRequest);
            // ---
            // PRVIATE METHODS.
            // ---
            // I serialize the given Object into a key-value pair string. This
            // method expects an object and will default to the toString() method.
            // --
            // NOTE: This is an atered version of the jQuery.param() method which
            // will serialize a data collection for Form posting.
            // --
            // https://github.com/jquery/jquery/blob/master/src/serialize.js#L45
            function serializeData(data) {
                // If this is not an object, defer to native stringification.
                if (!angular.isObject(data)) {
                    return ((data == null) ? "" : data.toString());
                }
                var buffer = [];
                // Serialize each key in the object.
                for (var name in data) {
                    if (!data.hasOwnProperty(name)) {
                        continue;
                    }
                    var value = data[name];
                    buffer.push(
                        encodeURIComponent(name) +
                        "=" +
                        encodeURIComponent((value == null) ? "" : value)
                    );
                }
                // Serialize the buffer and clean it up for transportation.
                var source = buffer
                    .join("&")
                    .replace(/%20/g, "+")
                ;
                return (source);
            }
        });


//App.js
var routerApp = angular.module('myApp', ['ui.router'
, 'vendorLoginModule'
, 'ui.bootstrap'
, 'createUser'
, 'ui.grid'
, 'ui.grid.selection'
, 'ui.grid.exporter'
, 'ngLoadingSpinner'
, 'confirm'
, 'transformRequestService'
]);


//injecting in controller
    angular.module('confirm', [])

    .controller('confirmController', ['$scope', '$http', '$timeout', '$uibModal', '$log', '$state', '$filter', '$crypthmac', '$rootScope', '$sce', 'transformRequestAsFormAsPost ', function ($scope, $http, $timeout, $uibModal, $log, $state, $filter, $crypthmac, $rootScope, $sce, transformRequestAsFormAsPost) {
------

}

1 Ответов

Рейтинг:
2

David_Wimbley

Я не запускал ваш код, но я думаю, что это потому, что вы повторно объявляете свой угловой модуль несколько раз с разными именами.

var routerApp = angular.module('myApp', ['ui.router'
, 'vendorLoginModule'
, 'ui.bootstrap'
, 'createUser'
, 'ui.grid'
, 'ui.grid.selection'
, 'ui.grid.exporter'
, 'ngLoadingSpinner'
, 'confirm'
, 'transformRequestService'
]);


Таким образом, заводская часть станет

routerApp.factory('transformRequestAsFormAsPost', ["$http" , function($http){ }]);


И тогда ваш контроллер будет выглядеть так

routerApp.controller("confirmController",
['$scope', '$http', '$timeout', '$uibModal', '$log', '$state', '$filter', '$crypthmac', '$rootScope', '$sce', 'transformRequestAsFormAsPost ', function ($scope, $http, $timeout, $uibModal, $log, $state, $filter, $crypthmac, $rootScope, $sce, transformRequestAsFormAsPost) { }]);


Переоформив свой угловой модуль и не вводя его сюда

angular.module('confirm', [ // should inject it here])
 
    .controller('confirmController',


Вот почему ваше приложение говорит о неизвестном поставщике.

Я сам учусь угловому, но маршрут, который я проложил, работает для меня при реализации подобных фабрик.