Si vous avez un oeil à the docs, vous devrez passer jsonp
comme jsonpCallbackParam
de telle sorte que angulaire utilise l'URL de requête correcte. C'est le nom du paramètre GET, pas le nom de la fonction de rappel. En outre, le chemin est route.json
et non route.jsonp
.
$http.jsonp("http://www.distance24.org/route.json?stops="+city+"|"+country, {
jsonpCallbackParam: 'jsonp'
}).then(function(data) {
console.log(data);
alert(data.distance);
});
Vous pouvez également utiliser
$http.jsonp("http://www.distance24.org/route.json", {
params: {stops: city+"|"+country},
jsonpCallbackParam: 'jsonp'
})
Avant v1.6 angulaire, il n'y avait pas de valeur de configuration jsonpCallbackParam
. Au lieu de cela vous utiliseriez
$http.jsonp("http://www.distance24.org/route.json?jsonp=JSON_CALLBACK&stops="+city+"|"+country)
ou
$http.jsonp("http://www.distance24.org/route.json", {params: {
"stops": city+"|"+country,
"jsonp": "JSON_CALLBACK"
}})
Vérifiez la réponse du serveur - il est probable que vous avez une erreur sur le côté serveur. – user2182349
il est en outre plus probable que vous obtenez une réponse HTML de cette URL –
Correct, c'est HTML. Comment puis-je le rendre JSON? – adace1