Я пытаюсь написать программу на JavaScript, где пользователь вводит что-то в строку поиска, и программа возвращает 3 лучших результата Википедии и краткое описание каждого. Я могу успешно получить результат поиска и вернуть заголовки со следующим синтаксисом:
articles1.append(x.query.search[0].title);
Однако, хотя сайт MediaWiki (https://www.mediawiki.org/wiki/API:Parsing_wikitext) приводит меня к мысли, что «текст» можно использовать как параметр, аналогичный «названию», следующее ничего не возвращает:
articles1.append(x.query.search[0].text);
То же самое касается «резюме» или любых других перечисленных параметров. Я чувствую, что могу в корне неправильно понимать, как должны работать эти параметры, но, поскольку я могу, по крайней мере, успешно получить запрошенные заголовки, я чувствую, что не могу быть слишком далеко. Любая помощь приветствуется, полный код ниже:
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 );
}
})
})
})