通过传递类别从维基数据 api 填充自动完成



我遇到了一个问题。我有代码使用维基数据 api 从 wipipedia 的结果填充自动完成,我使用了以下 git 集线器资源。

我的网页代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Implementing Autocomplete Search using Wikipedia OpenSearch API - Demo by W3lessons</title>
<style>
body {
        background: #a8a8a8 url(bg.png);
		background-repeat:no-repeat;
		margin:0 auto;
		padding:0;
        color: #7f7f7f;
		font-family:Arial, Helvetica, sans-serif;
		font-size:13px;
		line-height:18px;
		width:100%;
    }
h1 { color:#F7F7F7; font-size:24px; font-weight:normal; }
#search input {
		background: none repeat scroll 0 0 #fff;
		border: 0 none;
		color: #7F7F7F;
		float: left;
		font: 12px 'Helvetica','Lucida Sans Unicode','Lucida Grande',sans-serif;
		height: 20px;
		margin: 0;
		padding: 10px;
		transition: background 0.3s ease-in-out 0s;
		width: 300px;
	}
	
	#search button {
		background: url("search.png") no-repeat scroll center center #7eac10;
		cursor: pointer;
		height: 40px;
		text-indent: -99999em;
		transition: background 0.3s ease-in-out 0s;
		width: 40px;
		border: 2px solid #fff;
	}
	
	#search button:hover {
		background-color:#000;
	}
	
</style>
</head>
<body>
	<center>
<script type="text/javascript"><!--
google_ad_client = "ca-pub-5104998679826243";
/* mysite_indivi */
google_ad_slot = "0527018651";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</center>
  <div style="width:50%; margin:0 auto;">	
  	<p style="margin:20px;"><img src="http://w3lessons.info/logo.png" /></p>
  	<div style="margin:20px;">
            <h1>Autocomplete Search using Wikipedia Opensearch API</h1>
            <form method="get" id="search">
                <input type="text" class="searchbox" value="Type here.. " onblur="if(this.value == '') { this.value = 'Type here..'; }" onfocus="if(this.value == 'Type here..') { this.value = ''; }" name="s">
                <button type="submit">Submit</button>
            </form>	

  
    </div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.3/themes/smoothness/jquery-ui.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.3/jquery-ui.min.js"></script>
<script type="text/javascript">
$(".searchbox").autocomplete({
    source: function(request, response) {
        console.log(request.term);
        $.ajax({
            url: "http://en.wikipedia.org/w/api.php",
            dataType: "jsonp",
            data: {
                'action': "opensearch",
                'format': "json",
                'search': request.term
            },
            success: function(data) {
                response(data[1]);
            }
        });
    }
});
</script>
</body>
</html>

我的问题是我想在特定类别中获取自动完成的数据,例如如果我可以在页面中的视频上使用此自动完成功能,那么它应该仅显示与视频自动完成相关的结果或音乐,它应该显示仅填充音乐类别结果自动完成等需要的类别

action:opensearch 用于自动完成。将常规搜索与 incategory:<category_name> prefix:<word_prefix> 一起使用。

相关内容

  • 没有找到相关文章

最新更新