我正在嘗試編寫一個輸入一個單詞的代碼,點擊按鈕(稍後我會通過按下「return」按鈕來添加代碼),並且您會得到10個結果與您輸入的單詞有關。每個結果都會有一個標題/網址和一個描述(基本上,我認爲是頁面中的第一句話)。我試圖用API Sandbox來找出我需要的東西,但是我得到的結果並不是我想要的。因爲他們都返回結果,所以我還是得不到list=search
和generator=search
之間的區別。然而,當我在json中使用list=search
作爲data.search [i] .title和說明(?)作爲data.search [i] .snippet時,似乎我獲得了更多成功。但是,當我使用generator=search
時,我無法致電該信息。 MediaWiki API的文檔太混亂了...基本上,我想調用信息的提取,似乎只有在使用generator=search
時纔會發生。但是,當我試圖將標題稱爲data.pages[i].title
並將描述稱爲data.pages[i].extract
時,我收到了錯誤。關於維基百科api搜索的困惑freecodecamp
這裏是我的代碼:
$(document).ready(function() {
function getWord() {
var keyword = $("#searchkeyword").val();
$.ajax({
url: "https://en.wikipedia.org/w/api.php?",
type: 'GET',
dataType: "jsonp",
data: {
action: 'query',
format: 'json',
prop: 'extracts',
list: 'search',
srsearch: keyword,
exsentences: '1',
exlimit: '10',
exintro: '1',
\t explaintext: '1'
},
success: function(data) {
console.log(data);
$("#articlearea").empty();
for(var i = 0; i < 10; i++) {
$("#articlearea").append('<div class="articlebox">' + data.query.search[i].title + '<br>' + data.query.search[i].extract + '</div>');
}
}
});
};
$("#submitbtn").on("click", getWord);
});
@import url('https://fonts.googleapis.com/css?family=Amiko:400,600');
body {
position: relative;
font-family: 'Amiko', sans-serif;
}
html, body{
height:100%;
margin: 0;
background-color: #40e0d0;
}
.wrapper {
text-align: center;
position: relative;
}
.container {
width: 75%;
margin: 30px auto 0;
}
.container a {
color: #ffffff;
font-size: 1.1em;
text-decoration: none;
margin-bottom: 10px;
display: block;
}
input {
border: 1px solid #ffffff;
border-radius: 4px;
padding: 5px 8px;
font-size: 1.3em;
}
#submitbtn {
position: relative;
z-index: 1;
left: -32px;
top: -2px;
color: #7B7B7B;
cursor:pointer;
width: 0;
}
.fa-search {
font-size: 1.3em;
}
<div class="wrapper">
<div class="container">
<a id="randomlink" href="https://en.wikipedia.org/wiki/Special:Random" target="_blank">Click here for a random Wikipedia article</a>
<form>
<input id="searchkeyword" type="text" placeholder="Search Wikipedia" />
<i id="submitbtn" class="fa fa-search"></i>
</form>
<div id="articlearea"></div>
</div>
</div>
你能顯示你得到什麼錯誤順便說一句? –
這是我使用'generator = search'時得到的錯誤:http://codepen.io/kikibres/pen/evZzzX。我仍然可以在控制檯中獲取數組,但是我也遇到了這個錯誤:「Uncaught TypeError:無法在控制檯中讀取'undefined'屬性'。 –
請查看我在下面的代碼片段中更新的最常見原因 –