Avatar billede hardkorn Nybegynder
17. december 2011 - 11:46 Der er 2 kommentarer og
1 løsning

Gennemløb af JSON med JQuery

Hej.

Jeg skal skrive en funktion i JQuery (eller bare generelt i Javascript) som kan loope gennem en resultaterne af søgning fra Apples iTunes Store. Resultaterne kommer i JSON-formatet.

Se et eksempel på resultatet her:
http://itunes.apple.com/search?country=DK&term=Murder%20Gospel%20Of%20Man


Jeg vil gerne kunne liste resultaterne et af gangen. Jeg har forsøgt at lave programmet med JQuery, med uden held.  Det eneste HTML-delen gør er at kalde $(document).ready(load);

Her er Javascript-funktionen som kaldes efter $(document).ready(load);


function load() {

    $.getJSON(
        "http://itunes.apple.com/search?callback=ajaxCallBack",
        {
            term : "Murder Gospel of Man",
            country : "DK"
        },
        ajaxCallBack
    );   
}

function ajaxCallBack(data) {
    // Loop throught all photos and display them
    // it uses the jquery.each method
    // doc at http://docs.jquery.com/Utilities/jQuery.each
   
    $.each(data.results, function(songIdx, data.results) {
        var trackName = results.trackName;
        var artistName = results.artistName;
        var newParagraph = $('<p />').text(trackName + " " + artistName);
       
        // Build HTML
        $("body").append(newParagraph);
    });
}


Men funktionen virker ikke - det giver ikke noget output. Er der nogen der kan hjælpe mig?

Mvh, Niels.
Avatar billede tjens Nybegynder
19. december 2011 - 22:44 #1
Har du prøvet med en alert i ajaxCallBack?

Den bliver vel aldrig kaldt, fordi XMLHttpRequest kun kan kontakte samme server som siden er loaded fra.
Avatar billede olsensweb.dk Ekspert
20. december 2011 - 20:01 #2
jeg er ikke den store jquery hej, men her er hvad jeg kan flække sammen.
det er muligt du kan gører det korterer med $.getJSON og $.each

<!DOCTYPE html>
<html>
<head>
    <title></title>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<script>
    // google "itunes apple search api jquery" http://www.google.dk/search?q=itunes+apple+search+api+jquery   
    // http://www.apple.com/itunes/affiliates/resources/documentation/itunes-store-web-service-search-api.html
    // http://itunes.apple.com/search?term=Murder+Gospel+of+Man&country=dk
    // http://itunes.apple.com/search?country=DK&term=Murder%20Gospel%20Of%20Man

    var url = "http://itunes.apple.com/search";   
    var params = "term=Murder+Gospel+of+Man&country=dk&callback=?";
    $.ajax({
        url: url,
        dataType: 'json',
        data: params,
        success: function(msg) {           
            for(var j=0; j<msg.resultCount; j++){
                var newParagraph = $('<p />').text(msg.results[j].trackName + " " + msg.results[j].artistName);
                $("body").append(newParagraph);
            }
        } 
    });
  </script>
</body>
</html>


nb: spørgsmålet havde nok været bedre placeret i js gruppen http://www.eksperten.dk/spm/Programmering/Script/JavaScript/
Avatar billede hardkorn Nybegynder
30. maj 2012 - 09:58 #3
Tak for svarene. Jeg fik det aldrig til at virke, men det er et godt bud. Jeg lavede en grundlæggende anden løsning.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester