Angular JS $http n'est pas défini dans la portée
J'ai été vérifier sur AngularJS les deux derniers jours et j'ai couru dans un problème. Je suis en train d'utiliser $http.jsonp
pour obtenir des informations à partir de l'API Soundcloud.... cependant il me semble que $http n'est pas défini dans $scope
. Voici ce que la console me dit:
Uncaught ReferenceError: $http is not defined main.js:18
(anonymous function) main.js:18
(anonymous function) sdk.js:1
window.SC.SC.Helper.merge.Dialog.AbstractDialog.AbstractDialog.handleReturn sdk.js:1
window.SC.SC.Helper.merge.Dialog._handleDialogReturn sdk.js:1
window.SC.SC.Helper.merge.connectCallback
c'est là que je suis en train de faire l'appel dans main.js
angular.module('soundSelectahApp')
.controller('MainCtrl', function ($scope) {
$scope.apiKey = "#############################";
$scope.results = [];
$scope.init = function(){
SC.initialize({
client_id: $scope.apiKey,
redirect_uri: "http://localhost:9000/callback.html"
});
//initiate auth popup
SC.connect(function() {
SC.get('/me', function(me) {
alert('Hello, ' + me.username);
});
$http.jsonp('https://api.soundcloud.com/me.json?client_id=' + $scope.apiKey + '&callback=JSON_CALLBACK').success(function(data) {
console.log(data);
}).error(function(error) {
console.log(error);
});
});
};
});
Ai-je oublié quelque chose? Ne dois-je pas être lier à utiliser $http.jsonp()
dans mon $scope.init()
? Est-ce à dire que je suis à l'extérieur de $scope
?
OriginalL'auteur guizian | 2013-07-28
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin d'injecter $http dans le contrôleur:
OriginalL'auteur AlwaysALearner
ou
pour éviter des problèmes avec le code minification
OriginalL'auteur Stepan Suvorov
J'ai été faire d'erreur semblable à ceci:
$lieu n'est pas défini
J'ai passé $, l'emplacement du contrôleur et il a résolu le problème.
merci beaucoup
OriginalL'auteur Daman Singh