2 votes

Récupération des données json d'un serveur externe

J'ai posé une question similaire à celle-ci plus tôt, mais peut-être que ceci est un peu plus clair.

J'essaie de récupérer des données json à partir du serveur de routage OSRM (API ici : https://github.com/DennisOSRM/Project-OSRM/wiki/Server-api ).

J'utilise actuellement ce code :

http://jsfiddle.net/FhfVW/10/

$(function () {
$("#getJSON").click(function () {
    var url = "http://router.project-osrm.org/viaroute?loc=51.500,0.100&loc=51.500,0.1001&jsonp=myroute";
    $.ajax({
        dataType: "json",
        url: url,
        jsonpCallback: 'myroute',
        success: function (data) {
            test = data.route_geometry;
            alert(test);
        }
    });
});
});

Cependant, je n'obtiens aucune réponse à ce sujet. Il y a peut-être quelque chose qui ne va pas, même si j'ai essayé d'enlever les callbacks et la partie 'jsonp=myroute' sans succès non plus.

Merci pour toute aide.

Nick

1voto

Luke Points 3231

Finalement, j'ai réussi à faire fonctionner ceci

$(function () {
    var url = "http://router.project-osrm.org/viaroute?loc=51.500,0.100&loc=51.500,0.1001";
    $.ajax(url, {dataType:"jsonp", jsonp:"jsonp", cache:true}).success(function() {
       console.log(arguments);
    });
});

si vous mettez l'url dans le navigateur, qui est générée par jquery, alors vous voyez une erreur 400, car jquery ajoute le "&". \= [TIMESTAMP]". Mais votre serveur distant dit que l'url est alors malformée. Si vous donnez à jquery l'option "cache" avec une valeur vraie, il n'ajoutera pas le " Paramètre ".

Si vous avez d'autres problèmes, essayez de remplacer le callback "success" par le callback "always", car vous serez alors notifié à chaque fois que le callback réussira ou non. Parce que parfois il y a une erreur dans jquery, que vous ne remarquerez pas dans les outils de développement.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X