So beheben Sie Fehler:
[$ resource: badcfg] Fehler in der Ressourcenkonfiguration. Erwartete Antwort, die ein Array enthält, aber ein Objekt hat?
// Bedienung
angular.module('admin.services', ['ngResource'])
// GET TASK LIST ACTIVITY
.factory('getTaskService', function($resource) {
return $resource('../rest/api.php?method=getTask&q=*',{ 'get': {method:'GET'}});
})
// Controller
$scope.getTask = getTaskService.query(function (response) {
angular.forEach(response, function (item) {
if (item.numFound > 0) {
for(var i = 0; i < item.numFound; i++) {
$scope.getTasks[i] = item.docs[i];
}
}
});
});
$resource("../rest/api"}).get();
gibt ein Objekt zurück.
$resource("../rest/api").query();
gibt ein Array zurück.
Sie müssen verwenden :
return $resource('../rest/api.php?method=getTask&q=*').query();
quelle
Um Arrays mit dem $ resource-Dienst zu verarbeiten, wird empfohlen, die Abfragemethode zu verwenden. Wie Sie unten sehen können, ist die Abfragemethode für die Verarbeitung von Arrays ausgelegt.
{ 'get': {method:'GET'}, 'save': {method:'POST'}, 'query': {method:'GET', isArray:true}, 'remove': {method:'DELETE'}, 'delete': {method:'DELETE'} };
Nutzer
$resource("apiUrl").query();
quelle
Stellen Sie sicher, dass Sie auch die richtigen Parameter senden. Dies passierte mir nach dem Wechsel zum UI-Router.
Um dies zu beheben, habe ich $ routeParams geändert, um $ stateParams in meinem Controller zu verwenden. Das Hauptproblem war, dass $ stateParams keinen richtigen Parameter mehr an die Ressource sendete.
quelle