Permalänk
Medlem

Hjälp mig med JSON!

Hej!

Planerar att ordna en applikation som bland annat ska innehålla nyheter. Dessa nyheter hade jag tänkt hämta från en befintlig webbplats, har kollat med webbansvarige där och enligt honom ska det vara fritt fram att hämta data från servern via JSON.

Har läst på en del och förstår syntax och hur man lägger in data, men får inte grepp om hur man ska hämta data från en annan webbplats. Har försökt med $.getJSON(alltså jQuery) men fick ingen ordning på detta heller.

Skulle vara enormt uppskattat om någon förklarar och visar exempel på hur man hämtar data från en webbplats och hur man kan behandla den. Stort + om det är via jQuery =).

Tack på förhand!

Permalänk
Medlem
Skrivet av SuitUp:

Hej!

Planerar att ordna en applikation som bland annat ska innehålla nyheter. Dessa nyheter hade jag tänkt hämta från en befintlig webbplats, har kollat med webbansvarige där och enligt honom ska det vara fritt fram att hämta data från servern via JSON.

Har läst på en del och förstår syntax och hur man lägger in data, men får inte grepp om hur man ska hämta data från en annan webbplats. Har försökt med $.getJSON(alltså jQuery) men fick ingen ordning på detta heller.

Skulle vara enormt uppskattat om någon förklarar och visar exempel på hur man hämtar data från en webbplats och hur man kan behandla den. Stort + om det är via jQuery =).

Tack på förhand!

Har du verkligen läst på om getJSON?
http://api.jquery.com/jQuery.getJSON/

Har du fått till respektive GET-variabler som eventuellt ska med?

Visa signatur

ηλί, ηλί, λαμά σαβαχθανί!?

Permalänk
Medlem

Glöm inte heller att läsa Additional Notes längst ned på http://api.jquery.com/jQuery.getJSON/

Permalänk
Medlem

Frågan är väldigt oklar. ber du om hjälp med att A) använda $.getJSON(url,function(data){}); eller B) få en webapplikation X att serialisera JSON?

svaret på fråga A är ungefär något i den här stilen:

$(function(){ var url = 'http://theurl.to/mysite/news'; $.getJSON(url,function(data){ $.each(data,function(idx,item){ $('#newslist').append('<li>'+item.Title+'</li>'); }); }); });

Svaret på fråga B är omöjligt att ge utan mer information.

Permalänk
Medlem

Kan vara så enkelt att du glömt att instruera getJSON() att använda JSONP mode.

Det gör du genom att lägga till 'callback=?' i den url som frågar efter data.

Har själv snubblat på den punkten flera gånger.

Detta är ingen bugg utan en säkerhets åtgärd i JavaScript så att du vanligtvis kan utan bekymmer hämta data ifrån samma domän som scriptet ligger på som efter frågar data.

Men för att en att hämta data på annan domän får du använda den så kallade JSONP metoden.

Detta är en workaround i jQuery. Det kan te sig annorlunda från fall till fall.

Men när jag testade att hämta Twitter data så fick jag ingen data tillbaka om jag inte använde 'callback=?' i URL:en.

Läs mer på:

http://api.jquery.com/jQuery.getJSON/
http://api.jquery.com/jQuery.ajax/

Lycka till.

Visa signatur

Fractal Design Arc Svart | MSI Z68A-GD55 G3 REV B3 | Intel® Core i7 2600K, 3.4GHz, 8MB | Corsair 16GB (4x4096MB) CL9 1600Mhz VENGEANCE LP | MSI GeForce GTX 670 | Phanteks PH-TC14PE CPU Cooler (vit) | Corsair Power Supply 650W TX M, Modular, ATX, PS/2 | SSD (okänd tillverkare) + 2 äldre SATA2 diskar på 750 Gb, 350 gb. | OS: Microsoft Windows 10 home.