Angularjs 无法在angular factory(angular 1.x)中使用$http
我在脚本的开头添加了$http,但由于某些原因,$http没有加载-如何将$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){
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