2010-11-10 5 views
1

Je suis en train d'obtenir des données de format JSON de ce site .. http://www.livetraffic.sg/feeds/jsonAide à l'obtention Json données Format du site Web externe

mais quand j'utiliser ajax .. i exécuter dans cette erreur particulière dans ma console chromée.

Erreur: XMLHttpRequest ne peut pas charger. L'origine nulle n'est pas autorisée par Access-Control-Allow-Origin. Le site Web externe empêche-t-il l'utilisation des informations par le site Web externe?

Merci pour votre aide !!!

Exemple de mon code:

url = "http://www.livetraffic.sg/home2/get_erp_gantry"; 
$().ready(function(){ 
     $.get(resturl, function(data) { 
     //do something here with data 
}); 
}); 
+1

Vous avez l'URL sur votre première ligne et resturl dans votre appel AJAX. Est-ce juste une faute de frappe dans votre question? –

Répondre

2

Ceci est votre navigateur application de la politique d'origine. Vous n'êtes pas autorisé à faire des demandes à des domaines autres que le domaine dans lequel votre script a été extrait.

Vous devrez configurer un proxy côté serveur sur le même domaine que celui à partir duquel votre script est servi et qu'il fournisse les données. (Vous pouvez également mettre en cache ces données sur le serveur si cela s'avère utile.)

+0

Voir aussi le commentaire de Richard. Null n'est, en effet, pas le même domaine que votre script est servi. Et cela correspond mieux à l'erreur. :) Mais si votre site n'est pas www.livetraffic.sg, vous aurez toujours besoin de proxy les données que je décris. – cdhowie

2

Vous ne pouvez pas effectuer de requêtes JSON interdomaines. Votre navigateur ne l'autorisera pas. Si le domaine cible autorise les demandes JSONP http://en.wikipedia.org/wiki/JSONP#JSONP, vous pouvez utiliser cette solution de contournement à la place. Sinon, vous devrez faire la demande côté serveur.

+0

+1! JSONP est le chemin à parcourir! – jwueller

0

vous pouvez effectuer Simpler une requête ajax à une page php locale qui contient

header("Content-type: application/json; charset=utf-8"); 
echo file_get_contents('http://www.livetraffic.sg/home2/get_erp_gantry'); 

Vous ne devez avoir allow_url_fopen vrai.

+1

c'est une grande supposition que l'utilisateur a PHP côté serveur (s'il a * quelque chose * côté serveur du tout). – RPM1984

+0

Peut-être mais c'est la manière la plus simple SI L'UTILISATEUR A PHP SERVER-SIDE ^^ – MatTheCat

0

Merci à tous! Gérer pour extraire les données JSON à partir du site Web externe en utilisant un script PHP côté serveur, puis en passant des variables à mon javascript :)

Questions connexes