Ich versuche, ein Programm in JavaScript zu schreiben, wo der Benutzer etwas in eine Suchleiste eingibt, und das Programm gibt die Top 3 Wikipedia-Ergebnisse und eine kurze Beschreibung von jedem zurück. Ich kann erfolgreich ein Suchergebnis nehmen und die Rück Titel mit folgenden Syntax:Text vom Artikel über MediaWiki API zurückgeben?
articles1.append(x.query.search[0].title);
Während jedoch die MediaWiki-Website (https://www.mediawiki.org/wiki/API:Parsing_wikitext) führt mich zu glauben, dass „Text“ kann ähnlich wie „Titel als Parameter verwendet werden, "Folgendes gibt nichts zurück:
articles1.append(x.query.search[0].text);
Das gleiche gilt für" Zusammenfassung "oder einen der anderen aufgeführten Parameter. Ich habe das Gefühl, dass ich grundsätzlich missverstehen kann, wie diese Parameter funktionieren sollen, aber da ich die gewünschten Titel zumindest erfolgreich ergattern kann, habe ich das Gefühl, dass ich nicht zu weit weg sein kann. Jede Hilfe ist willkommen, vollständige Code ist unten:
HTML:
<input type="text" value='' id=test >
<button>Search</button>
<section class='articles1'>
1.
</section>
<section class='articles2'>
2.
</section>
<section class='articles3'>
3.
</section>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
JavaScript:
$(document).ready(function() {
var articles1 = $('.articles1');
var articles2 = $('.articles2');
var articles3 = $('.articles3');
var input = $('input');
var button = $('button');
var toSearch = '';
var searchUrl = 'https://en.wikipedia.org/w/api.php';
$("button").click(function(e) {
var search = document.getElementById("test").value;
$.ajax({
url: 'http://en.wikipedia.org/w/api.php',
data: { action: 'query', list: 'search', srsearch: search, format: 'json' },
dataType: 'jsonp',
success: function(x) {
articles1.append(x.query.search[0].title);
articles2.append(x.query.search[1].title);
articles3.append(x.query.search[2].title);
}
})
})
})
Versuchen Sie, in der Erfolgsfunktion Ihrer AJAX-Anfrage x auf der Konsole zu protokollieren. Dadurch können Sie die Form des Objekts erkunden, die Ihnen genau sagen sollte, was verfügbar ist und wie Sie darauf zugreifen können. –