2016-04-12 6 views
0

Ich bilde eine API-Anforderung an Wikipedia, und alles scheint zu funktionieren, aber ich kann die Bedeutung für die wenigen Zeilen Code nicht herausfinden, genauDaten [] in Jsonp - was es bedeutet?

var articleTitles = data[1]; 
var articleUrls = data[3]; 

Ich habe keine Ahnung, was Indexdaten tun [1 ] und Daten [3] bedeuten und wie finde ich sie selbst heraus. Das aus dem Udacity Tutorial ist, aber das war nicht im Detail geklärt, ich weiß nur, es hat etwas mit der Antwort zu tun hat ...

var wikiUrl = 'https://en.wikipedia.org/w/api.php?action=opensearch&search=' + cityStr + '&format=json'; 

    var wikiRequestTimeout = setTimeout(function() { 
     $wikiElem.text("Failed to get Wikipedia resources"); 
    }, 5000); 

    $.ajax({ 
     url: wikiUrl, 
     dataType: 'jsonp' 
    }).success(function(data) { 
     var articleTitles = data[1]; 
     var articleUrls = data[3]; 

     $.each(articleTitles, function(i, title) { 
      $wikiElem.append('<li><a href="' + articleUrls[i] + '">' + title + '</a></li>'); 
     }); 
    /* .error is not built into jsonp 
*/ 
     clearTimeout(wikiRequestTimeout); // clear timeout will stop timeout from happening 
    }); 

return false; 
+1

Ich würde das Objekt in der Konsole protokollieren, um zu sehen, wie die Daten tatsächlich strukturiert sind. –

Antwort

0

data ein Objekt Sie es als ein Array wahrnehmen können (wie) Struktur . Es enthält andere Arrays/Objekte darin, und zur Beantwortung der Frage data[0] ist das erste dieser untergeordneten Arrays und data[3] ist das vierte (es ist eine 0-basierte Notation). Sie können dies überprüfen - http://www.w3schools.com/json/json_syntax.asp