Angularjs 无法在angular factory(angular 1.x)中使用$http

Angularjs 无法在angular factory(angular 1.x)中使用$http,angularjs,http,angular-http,Angularjs,Http,Angular Http,我在脚本的开头添加了$http,但由于某些原因,$http没有加载-如何将$http记录到模块而不是控制器中 var abcdReportServices = angular.module('abcdReportServices', [ ]); abcdReportServices.factory('uploadFileAjax', ['getPDFsImage', function(getPDFsImage) { return function(evt, $scope){

我在脚本的开头添加了$http,但由于某些原因,$http没有加载-如何将$http记录到模块而不是控制器中

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

abcdReportServices.factory('uploadFileAjax', ['getPDFsImage', function(getPDFsImage) {
   return function(evt, $scope){
           $scope.http({
              method: "POST",
              url: 'someEndpoint/doSomething',
               data: $.param({
                 'name': 'name-of-rpt'
            }),
        headers: {
            "Content-Type" : "application/x-www-form-urlencoded"
        }
    }).success(
        function(data) {
            console.log("Saving success", data); 
        }
    );
   }

}
}]);
//控制台日志中出现错误

$http is not defined...

您只需要在工厂的依赖项注入中包含
$http
,然后将
$scope.http
切换到
$http

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

abcdReportServices.factory('uploadFileAjax', ['getPDFsImage', '$http', function(getPDFsImage, $http) {
   return function(evt){
           $http({
              method: "POST",
              url: 'someEndpoint/doSomething',
               data: $.param({
                 'name': 'name-of-rpt'
            }),
        headers: {
            "Content-Type" : "application/x-www-form-urlencoded"
        }
    }).success(
        function(data) {
            console.log("Saving success", data); 
        }
    );
   }

}
}]);

必须注入
$http
,就像注入
getPDFsImage