Sto utilizzando angularjs
e non riesco a ottenere il seguente controller per salvare in una variabile $ scope i dati restituiti da una richiesta AJAX
a Flickr. Lo $http.get
effettua una chiamata a un file JSON salvato localmente. In caso di successo, utilizza il json restituito in success()
per determinare l'URL appropriato per la chiamata AJAX all'API di Flickr. Al successo di quella chiamata, registro i dati sulla console. Fin qui tutto bene, restituisce una serie di tre oggetti. Tuttavia, sto cercando di impostare tale array su una variabile $ scope ($scope.photos
) in modo da poter scorrere su di esso il mio modello di visualizzazione. Tuttavia, quando provo a produrre {{photos}}
nell'html non c'è nulla. Sospetto che si tratti di un problema di promessa e il modello è in fase di rendering prima che AJAX restituisca i dati da Flickr, ma ho riversato i documenti senza esito positivo (guardato un po 'a $q
). Sono un po 'nuovo per Angular e apprezzerei la tua intuizione. Grazie!
artistControllers.controller('PhotoController', ['$scope', '$http', '$routeParams', '$q', function ($scope, $http, $routeParams, $q){
$http.get('js/data.json').success(function(data){
$scope.artists = data;
$.ajax({
type : "GET",
dataType : "jsonp",
url : $scope.artists[$routeParams.itemId].flickr,
success: function(flickr){
$scope.photos = flickr.items;
console.log($scope.photos);
}
});
});
}]);
Perché utilizzare jQuery anziché '$ http'? – Phil
Una domanda valida @Phil, vedi sotto per commenti simili. Risposta breve è che non sono stato in grado (ancora) di chiamare Flickr senza $ .ajax. – FugueWeb
Ecco una risposta che potrebbe aiutare il tuo problema su flickr: http://stackoverflow.com/questions/20720547/cant-use-angular-to-show-json-from-flickr –