Jak skonfigurować Angular $ resource (ngResource) do pobierania danych z innej domeny za pomocą CORS

Chciałbym mieć możliwość ustawienia zasobów za pomocą $ resource przy użyciu CORS do żądania moich danych. Mam CORS działającego z $ http, ale te same techniki nie mają zastosowania do $ resource i miałem nadzieję, że ktoś może przyjść mi z pomocą i pokazać, jak z $ resource.

Zmodyfikowałemostatni krok samouczka Angular aby użyć CORS przez włamanie do usługi phonecatServices, w pliku services.js.

znalazłemten przykład który używa $ http.defaults.useXDomain = true; usuń $ http.defaults.headers.common ['X-Requested-With']; wiersz, aby uzyskać kątowe żądanie danych za pomocą CORS, ale jeśli spróbuję $ resource.defaults.useXDomain = true; Dostaję błąd: „Nie można ustawić właściwości„ useXDomain ”z undefined”.

Zakładam, że $ resource nie ma tej właściwości, więc moje pytanie brzmi, jak skonfigurować $ resource, aby wywoływać żądania zasobów między domenami przy użyciu CORS.

Oto mój kod:

angular.module('phonecatServices', ['ngResource']).
    factory('Phone', function($resource){
  return $resource('http\\://localhost\\:8080/:phoneId.json', {}, {
    query: {params:{phoneId:'phones'}, isArray:true}
  });
});

Gdy próbuję wykonać żądanie, otrzymuję następujący błąd: Object # <Resource> nie ma metody „push”

EDYTOWAĆ

Próbowałem skonfigurować $ http i działa przez większość czasu, ale gdy wywołanie jest wykonywane w zapytaniu o zasoby, w tym przypadku Phone.get (phoneId); to wydaje się rzucać powyższy błąd.

Kod wywołujący, który, jak podejrzewam, powoduje błąd (z controllers.jskrok 11 samouczek kątowy):

function PhoneDetailCtrl($scope, $routeParams, Phone) {
  $scope.phone = Phone.get({phoneId: $routeParams.phoneId}, function(phone) {
    $scope.mainImageUrl = phone.images[0];
  });

  $scope.setImage = function(imageUrl) {
    $scope.mainImageUrl = imageUrl;
  }
}

Jeśli usunę wnętrzności powyższej metody, kod działa poprawnie (bez uzyskania obrazu strony internetowej), ale nie rozumiem, dlaczego to nie zadziałało? Skonfigurowałem usługę $ http, aby używać CORS, aby najwyraźniej przekazać ją do $ resource.

Czy ktoś może rzucić na to jakieś światło? (każdy kod przykładu roboczego byłby bardzo mile widziany).

EDYTUJ: 13/08/13

Tak więc każdy, kto odwiedza to pytanie, wie, że żadna z poniższych odpowiedzi nie odpowiedziała na to pytanie, sam badam odpowiedź, ale jeśli ktoś to zauważy i ma odpowiedź, bardzo bym to docenił.

EDYTUJ: 06/09/13

Obecnie przyglądam się temu projektowi, wydaje się, że pozwala na wszystko, czego szukam:https://github.com/jpillora/xdomain

questionAnswers(2)

yourAnswerToTheQuestion