我已经创建了自动完成功能,但它不工作。我看不出错误,也找不出问题所在。。。
html格式:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="style.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Metamorphous">
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<script src ="scripts.js"></script>
</head>
<body>
<div id="container">
<div id="main" class="down">
<header>
<h1>HerbariuM</h1>
</header>
<nav>
<input id="searchBar" type="text" placeholder="Szukaj..." onfocus="mainUp()" onblur="mainDown()">
</nav>
</div>
<div id="herb" class="hide">
<img id="image" src="">
<h2><i>Losowa roślinka</i></h2>
</div>
</div>
</body>
</html>
下面是autocomplete js的一段代码:
$(document).ready(function(){
$("#searchBar").autocomplete({
source: function(request,response){
$.ajax({
url: "search.php",
dataType:"json",
data:{q:request.term},
success: function(data){
response(data);
}
});
},
minLength: 2,
select: function(event,ui){
alert("Selected: "+ui.item.label);
}
});
});
这是从数据库php返回数据的php代码:
<?php
$connection = new mysqli("localhost","root","password","herbarium");
$herb = $_GET['q'];
$result = $connection->query("SELECT * FROM herbs WHERE latin_name LIKE '%$herb%'");
$data = array();
while ($row=$result->fetch_assoc()){
$data[] = $row['latin_name'];
}
echo json_encode($data);
?>
有人能告诉我怎么修吗?不知道,已经搜索了整个互联网和所有的代码行一个接一个,但没有看到错误。。。
1条答案
按热度按时间ozxc1zmp1#
固定的。。。问题是在我的mac上使用“localhost”而不是“127.0.0.1”。在尝试创建新的.php文件并通过webbrowser访问它时意外地出现了。