JSON problem (opet)

Kako najlakše da grabujem podatke iz json fajla:
https://public-api.adsbexchange.com/VirtualRadar/AircraftList.json?lat=33.433638&lng=-112.008113&fDstL=0&fDstU=100

Probao sam ovako pomoću js, ali ne uspevam, nije bitno koji podatak, samo da znam gde grešim. Recimo treba mi ‘Id’ … evo mog js:

[CODE]var x = document.getElementById(‘loc’);

            function getLocation() {
                if (navigator.geolocation) {
                    navigator.geolocation.getCurrentPosition(showPosition);
                } else {
                    x.innerHTML = 'Geolocation is not supported by this browser.';
                }
            }

            function showPosition(position) {
                x.innerHTML = 'Latitude: ' + position.coords.latitude +
                '<br>Longitude: ' + position.coords.longitude;

                var myJSON = 'https://public-api.adsbexchange.com/VirtualRadar/AircraftList.json?lat=33.433638&lng=-112.008113&fDstL=0&fDstU=100';
               
                document.getElementById('loc2').innerHTML = myJSON['acList'][0]['Id'];
            }[/CODE]

Dobijem izlaz: undefined

moras da odradis http (ajax) zahtev ka tom url-u, pa da obradis response

Ja sam sklepao sa php. JS mi je mnogo bau bau. :slight_smile:

Kao što ti je webad rekao, moraš poslati zahtev URL-u i pokupiti odgovor da bi mogao da to odradiš. Danas se za te potrebe može koristiti Fetch API.

[CODE]var jsonData = “”;

fetch(url)
.then( function (response) {
return response.json();
})
.then( function (json) {
jsonData = json;
});[/CODE]

Problem je međutim CORS (. Moraš imati dozvolu od servera da dobiješ podatke sa njega na ovaj način.

da razgranicimo: postoji klijentska strana (html, css, js, …) koja se izvrsava u pretrazivacu, recimo na mom racunaru. postoji serverska strana koja je recimo na nekom tvom racunaru. ja zelim da otvorim tvoj sajt, ja zelim od tebe sadrzaj. meni je sumnjivo ako moj pretrazivac, gledajuci tvoju stranu, komunicira sa nekim trecim serverom.
ovaj problem, a i CORS, mozes izbeci ako dohvatanje informacija sa drugih servera odradis sa svog servera, npr umesto da u js-u preko ajax-a kontaktiras tudji api, odradi u php-u preko curl-a.
ja kao korisnik sve sto vidim i znam je da sam otvorio tvoju stranicu, da dobijam sve potrebne informacije od tebe i da samo od tebe zavisim.

Tako sam i ja odradio: Ovo na primer: Quantox Check Airplane To je bila samo proba dizajna. Međutim pošto je bio “JAK” klijent, nije im se svidelo. Kazu uradio si sa PHP a mi smo hteli Vanilla JS. Tako da je posao otpao, ali nema veze. Ličnog sam mišljenja da treba što više stvari odraditi sa PHP, jer JS po meni je manje siguran, prvenstveno jer može da se modifikuje pa i isključi. Nego njima se nije svidelo što se stranica refreshuje. Dok sa brzinom nema problema.

cinjenica je da u mom predlogu postoji korak vise (browser <-> server <-> api) u odnosu na (browser <-> api), ali sve zavisi od potreba. jedino sto mi pada na pamet da se odradi bez lokalnog servera, da je sva logika u klijentskoj strani je da ovako moze da se napravi neki hibrid program za telefon koji ne zavisi od lokalnog servera