我有一些存储在nosql数据库中的数据,我可以在访问localhost:3000 / countries时看到。
我正在尝试使用这个工厂来获取json中的数据。
.factory('countries', ['$http', '$q',
function($http, $q) {
var countries = {
get: function() {
return $q(function(resolve, reject) {
$http({
method: 'GET',
url: '/countries'
}).then(function(response) {
resolve(response.data);
}, function(error) {
reject(error);
});
});
};
return countries;
}
]);
然后我尝试使用此控制器将该数据发送到要显示的相应网址,但它无法正常工作。
.controller('CountriesCtrl', function($scope, countries) {
console.log(countries);
countries.get(function(countries) {
$scope.countries = countries;
});
})
有什么想法或建议吗?谢谢!
答案 0 :(得分:0)
这是我目前在使用Mongodb的项目中使用的
cmsApp.factory("tasks", ["$resource", function($resource) {
return $resource("/tasks/", {}, {
save: {
method: 'POST',
isArray: true
},
'delete': {
method: 'DELETE',
isArray: true
}
});
}]);
然后在Controller中(确保将其注入控制器!):
$scope.tasks = tasks.query();
.query()选择所有数据,而.get()由Id
启动答案 1 :(得分:0)
您应该将工厂注入控制器,如下所示:
.controller('CountriesCtrl', function($scope, devices) {
console.log(countries);
countries.get(function(data) {
$scope.data = data;
});
})
答案 2 :(得分:0)
您应该注入服务'设备'而不是它的内部变量'国家'。
.controller('CountriesCtrl', function($scope, devices) {
console.log(devices);
devices.get().then(function(countries) {
$scope.countries = countries;
});
});