我的angular.js服务没有返回任何结果,我无法弄清楚原因。我没有收到任何错误,当检查控制台时,我看不到正在调用服务器脚本?
这是我的控制器功能:
$scope.getLeads = function() {
var promise =
LeadsSrv.all();
promise.then(
function(d) {
$scope.leads = d.data;
console.log(d);
},
function(e) {
$log.error('failure loading leads', e);
});
};
console.log($scope.leads);
正在调用的服务是:
LeadApp.factory('LeadsSrv', function($http) {
return {
all: function () {
$http({
url: '../Data.php',
method: "POST",
params: { req_id: 'leads_list', user_id: 1 }
}).then(function (response) {
return response;
});
}
}
});
答案 0 :(得分:1)
您的all()
方法未返回任何内容。从then()
内部返回不会返回外部函数。您需要返回$http
承诺本身
尝试
LeadApp.factory('LeadsSrv', function($http) {
return {
all: function () {
// return `$http` promise
return $http({
url: '../Data.php',
method: "POST",
params: { req_id: 'leads_list', user_id: 1 }
}).then(function (response) {
return response;
});
}
}
});
答案 1 :(得分:0)
LeadApp.factory('LeadsSrv', function($http) {
return {
all: function () {
return $http({
url: '../Data.php',
method: "POST",
params: { req_id: 'leads_list', user_id: 1 }
});
}
}
});
尝试进行上述更改,希望能够正常工作