2013-02-06 16 views
5

Próbuję uzyskać dane JSON z adresu URL, który wysyła następujące dane JSON:jQuery Analizować JSON URL

[ 
{ 
    "belief_desc":"Jesus Died For Your Sins", 
    "0":"Jesus Died For Your Sins" 
}, 
{ 
    "belief_desc":"People Are Sinful", 
    "0":"People Are Sinful" 
}, 
{ 
    "belief_desc":"God Loves You", 
    "0":"God Loves You" 
}, 
{ 
    "belief_desc":"We Must Receive Christ", 
    "0":"We Must Receive Christ" 
} 
] 

. (Uwaga: to jest sformatowana tylko w tej kwestii dla łatwiejszego odczytu)

teraz staram się analizować przez niego za pomocą tego prostego skryptu jQuery:

<script> 
    var url = "http://mySite.com/data.json"; 
    $.getJSON(url, function(data){ 
     alert(data); 
     }); 
</script> 

otrzymuję żadnych danych z adresu URL jako alertu nie pokaże. Wszelkie pomysły na to, dlaczego to nie działa?

+0

Czy możesz użyć Firebuga i zobaczyć, co powraca w konsoli? Tylko być super pewnym? Czy twoja strona znajduje się na bsucru.comoj.com? Jeśli nie, nie możesz wykonać JSON ze względów bezpieczeństwa. – Leeish

+0

Czy Twoja strona jest na stronie "bsucru.comoj.com" gdzieś lub w innej domenie? – Leeish

+0

Strona, na której uruchamiam skrypt, nie należy do tej domeny. Używam tylko strony lokalnej, aby spróbować pobrać te dane. –

Odpowiedz

4

W domenie krzyżowej nie można wykonać prostego JSON.

Basic how-to for cross domain jsonp

Przeczytaj na poprzecznych wniosków domen.

+0

Wciąż nie mam szczęścia. Używam przykładu z http://stackoverflow.com/questions/2681466/jsonp-with-jquery i po prostu zastępuję adres URL. Czy to może mieć związek z kodowaniem adresu URL JSON? Używam json_encode z PHP na tablicy z bazy danych MySQL. –

+0

Najprawdopodobniej jest to strona po stronie serwera (strona, która generuje dane JSON). Nie jestem zaznajomiony z JSON w wielu domenach, po prostu wiem, że są pewne dodatkowe obręcze, które można przeskoczyć, aby działały. – Leeish