Я возился с API-интерфейсом wikipedia, но я продолжаю получать ошибку;Невозможно прочитать свойство «поиск» неопределенного (API Википедии)
«Не удается прочитать свойство„поиск“неопределенных»
Может кто-нибудь объяснить, что я делаю неправильно? Когда пользователь использует панель поиска, чтобы попытаться найти что-то, я буду использовать .map, чтобы просмотреть данные и вставить результаты данных в свой результатDiv.
Это мой код; & обязательный код. http://codepen.io/pixeluh/pen/wMdpbM?editors=101
$(document).ready(function() {
var searchBar = $("#search");
var resultDiv = $(".results");
var goButton = $("#go");
$.ajax({
url: "http://en.wikipedia.org/w/api.php?",
data: {
action: 'query',
list: 'search',
srsearch: searchBar.val(),
format: 'json'
}, //end of data
dataType: 'jsonp',
success: function(data){
var datatp = '';
data.query.search.map(function(f) {
datatp += f.title;
datatp += f.snippet;
}) //end of map
resultDiv.html(datatp);
} //end of success
}); //end of ajax
}); //end of body func
<html>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<container id="page">
<div id="flex-container">
<div class="search-bar">
<form class="searchbar">
<input type="search" name="wikisearch" placeholder="Search wiki..." id="search">
<input type="submit" id="go" value="Go"/>
<input type="button" id="random" value="Random" onclick="window.location ='http://en.wikipedia.org/wiki/Special:Random';"/>
</form>
</div>
</div>
<div class="results">
<!-- search results go here-->
</div>
</container>
</html>
Любая помощь или руководство оценили, спасибо.
'data.query.search.map (функция (е) {' данных. запрос не определен, и вы пытаетесь ссылаться на его свойство поиска. Почему это не определено? Данные, которые вы получили, выглядят не так, как вы ожидаете. Посмотрите на ответ, который вы получаете от своего аякс-вызова (вкладка сети в браузере dev инструменты) и выяснить, что пошло не так. – James