Obtenir cette erreur dans la console lorsque vous essayez d'obtenir des données à partir d'une API. Quelqu'un a ce problème avant?
var url = "https://api.website.com/get/?type=events&lat=" + localStorage.getItem('latitude')
+ "&lng=" + localStorage.getItem('longitude') + "&distance=50";
$http({
headers: {
'Content-type': 'application/json'
}
})
$http.get(url).success(function (events) {
$scope.events = events;
});
erreur:
TypeError: Cannot read property 'protocol' of undefined
at Gb (http://localhost:38772/www/js/plugins/angular.min.js:114:238)
at s (http://localhost:38772/www/js/plugins/angular.min.js:65:249)
at new EventsController (http://localhost:38772/www/js/angular.js:4:5)
at d (http://localhost:38772/www/js/plugins/angular.min.js:30:452)
at Object.instantiate (http://localhost:38772/www/js/plugins/angular.min.js:31:80)
at http://localhost:38772/www/js/plugins/angular.min.js:61:486
at http://localhost:38772/www/js/plugins/angular.min.js:49:14
at q (http://localhost:38772/www/js/plugins/angular.min.js:7:380)
at E (http://localhost:38772/www/js/plugins/angular.min.js:48:382)
at f (http://localhost:38772/www/js/plugins/angular.min.js:42:399)
Vous émettez une demande $ http malformée.
Vous n'êtes pas censé définir vos en-têtes dans un appel distinct à $http
. L'appel à $http()
émettra réellement la demande, mais puisque vous l'avez configurée avec juste l'en-tête (pas d'url ou de méthode), elle vous envoie cette erreur (comme prévu).
Si vous souhaitez définir votre en-tête, vous voudrez le faire en passant un objet de configuration personnalisé comme deuxième paramètre à votre appel $http.get()
:
$http.get(url, {
headers: {
'Content-type': 'application/json'
}
}).success(function (events) {
$scope.events = events;
});
Cette erreur se produit lorsque quelque chose se passe mal dans la demande, par exemple. si vous définissez l'URL comme méthode non définie, non valide ou type de contenu non valide, tout problème avec l'objet de demande générera cette erreur.