-4

我最近刚刚开始使用 JavaScript 进行编程,我必须使用 wikimedia API 创建自己的维基百科页面,但无法理解单击搜索时如何从文本框中提取数据并显示结果。

<!DOCTYPE html>
<html>

<body>

<h1>Wikipedia</h1>
<div id="search1" />
<input type="text" name="search" /></b>
<button id="s1">search</button>
</div>
<p id="display"></p>



<script>
var xmlhttp = new XMLHttpRequest();
var url = "https://community-wikipedia.p.mashape.com/api.php" ;

xmlhttp.onreadystatechange=function() {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
        myFunction(xmlhttp.responseText);
    }
}
xmlhttp.open("GET", url, true);
var key = "oCdV3MjLj1mshtyIXwBVzBqRKtY9p1XJNiajsn1vsCETYVLwK3";
req.setRequestHeader("X-Mashape-Key", key);
xmlhttp.send();

function Function(response) {
 var a = JSON.parse(response);
 var i;
 text = "";
 for(i = 0; i < a.length; i++) {
     text += a[i]+ "<br>";
 }

document.getElementById("search1").addEventListener("click",displaysearch);

function displaysearch(){

//display search items here

}


}

</script>

</body>
</html>
4

1 回答 1

0

您可以在单击搜索按钮后设置的 html 中使用 iframe,或者您可以使用 jQuery ajax GET 调用将调用请求发送到您访问的维基百科页面,如果成功返回适当的数据。

 $.ajax({
    url: '/path/to/file',
    type: 'default GET (Other values: POST)',
    dataType: 'default: Intelligent Guess (Other values: xml, json, script, or html)',
    data: {param1: 'value1'},
})
.done(function() {
    console.log("success");
})
.fail(function() {
    console.log("error");
})
.always(function() {
    console.log("complete");
});

jQuery 可能是两者中更好的选择。(在我看来)

使用 iFrames(在 javascript 中)的替代方法可能是这样的:

var ifrm = document.createElement('iframe');
ifrm.setAttribute('id', 'ifrm');
ifrm.setAttribute('src', 'demo.html'); //URL can go here
document.body.appendChild(ifrm); //places iFrame at the end of the page
于 2014-11-11T14:25:44.193 回答