使用jQuery和维基百科OpenSearch API进行自动完成搜索

使用jQuery和维基百科OpenSearch API进行自动完成搜索

在网页设计中,自动完成功能是一个常见的功能。当用户在搜索文本框中键入一些值时,它会自动以下拉的形式显示相关的建议列表,用户可以很容易地选择。关于jQuery的自动完成功能,请参考这篇文章。

方法:在这篇文章中,我们使用维基百科Opensearch API和jQuery Autocomplete UI。基本的HTML代码被用于输入文本框中的关键词搜索的用户界面。当使用jQuery代码时,搜索请求被发送到维基百科,而维基百科则根据用户的输入返回一个建议列表。数据响应是JSON格式的。

语法:维基百科API的URL

"http://en.wikipedia.org/w/api.php"

设置环境:更多选项设置

https://en.wikipedia.org/w/api.php?action=help&modules=opensearch

开发者可以参考上述URL链接,根据应用程序的需要,利用许多选项设置。

jQuery和jQuery UI库:代码中使用了以下文件。

<link href=" https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.3/themes/smoothness/jquery-ui.css" rel="stylesheet" type="text/css"/>
<script src=”https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.3/jquery-ui.min.js”></script>
<script src=””https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js”></script>

例子:下面的例子通过使用维基百科OpenSearch API和jQuery演示了自动完成的搜索功能。该HTML代码提供了一个普通的搜索输入框,当用户输入一些搜索文本时,它会给出建议。

<!DOCTYPE html>
<html>
  
<head>
    <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>
  
    <style>
        body {
            width: 100%;
            background: #e9e9e9;
            margin: 0 auto;
            padding: 0;
            color: #7faf7f;
            font-family: Arial, sans-serif;
            font-size: 12px;
        }
  
        #searchID input {
            width: 350px;
            height: 20px;
            margin: 0;
            padding: 15px;
            background: #fff;
            border: 1px solid black;
            color: #727272;
            float: left;
            font: 12px "Lucida Sans Unicode", sans-serif;
            transition: background 0.4s ease-in-out 0s;
        }
  
        #searchID button {
            width: 45px;
            height: 45px;
            text-indent: -9999em;
            background: url("searchIcon.jpg") #4eac10;
            transition: background 0.3s ease-in-out 0s;
            border: 1px solid #fff;
        }
  
        #containerID {
            width: 50%;
            margin: 0 auto;
        }
  
        h2 {
            color: green;
            text-align: left;
        }
    </style>
</head>
  
<body>
    <div id="containerID">
        <div>
            <h2>GeeksforGeeks</h2>
            <b>
                Autocomplete Search using jQuery
                and Wikipedia Opensearch API
            </b>
  
            <p></p>
  
            <form method="get" id="searchID">
                <input type="text" class="searchClass" 
                    id="searchInputID" value="" />
                <button type="submit">Search</button>
            </form>
        </div>
    </div>
  
    <script type="text/javascript">
        (".searchClass").autocomplete({
            source: function (request, response) {
                console.log(request.term);
                .ajax({
  
                    // Wikipedia API url link
                    url:
                    "http://en.wikipedia.org/w/api.php",
                    dataType: "jsonp",
                    data: {
                        action: "opensearch",
                        // Output format
                        format: "json",
                        search: request.term,
                        namespace: 0,
  
                        // Maximum number of result
                        // to be shown
                        limit: 8,
                    },
                    success: function (data) {
                        response(data[1]);
                    },
                });
            },
        });
    </script>
</body>
  
</html>

输出:
使用jQuery和维基百科OpenSearch API进行自动完成搜索

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程