Wie verwende ich eine interceptor
in einem Angular $resource
?
Meine JSON Struktur:
var dgs = [{id :1,
driver:'Sam',
type: 'bus',
segments:[{id:1,origin:'the bakery',arrival:'the store'},
{id:2,origin:'the store' ,arrival:'somewhere'}]
},
{ ... },
{ ... }
];
Mein Controller ist folgende:
function dgCtrl($scope,$http,DriveGroup,Segment) {
$scope.dgs = DriveGroup.query(function()
// Code below may belong in a response interceptor?
for (var i=0;i<$scope.dgs.length;i++) {
var segments = $scope.dgs[i].segments;
for (var j=0;j<segments.length;j++) {
segments[j] = new Segment(segments[j]);
}
}
});
Meine Dienste und was habe ich versucht, mit dem interceptor
Objekt:
angular.module('dgService',['ngResource']).
factory("DriveGroup",function($resource) {
return $resource(
'/path/dgs',
{},
{update:{method:'PUT'})
{fetch :{method:'GET',
// This is what I tried.
interceptor:{
response:function(data) {
console.log('response',data);
},
responseError:function(data) {
console.log('error',data);
}
},
isArray:true
}
);
});
I $resource lesen und es scheint, als ob das funktionieren sollte, aber es ist nicht so, also bin ich falsch verstanden ng. Irgendwelche Vorschläge?
ich den Unterschied zwischen Ihrer Version des Dienstes und die ursprüngliche – deitch
Ihr JavaScript nicht war sehen? falsch gebildet, weshalb Ihr Interceptor nicht funktionierte Beachten Sie, dass Sie keine geschweiften Klammern um die Fetch- und Aktualisierungseigenschaftszuweisungen haben sollten –
Ah, jetzt sehe ich es Ein weiteres Beispiel des klassischen Psychologiephänomens zu sehen, was man erwartet zu sehen! :-) – deitch