简单的搜索框下拉读取数据 可是ajax那接收不到数据
源代码如下:
前端: search.php
<!DOCTYPE html>
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="css/example.css" />
<link rel="stylesheet" href="css/weui.css" />
<link rel="stylesheet" href="css/weui.min.css" />
</head>
<body>
<div class="weui_search_bar">
<div class="weui_search_inner">
<form action="" method="get">
<i class="weui_icon_search"></i>
<input type="search" class="weui_search_input" name="keyword" id="keyword" placeholder="搜索" required />
<div id="searchbox" style="display: none;"></div>
<div style="clear: both;">
</form>
</div>
</div>
</body>
<script type="text/javascript" src="js/jquery-2.1.4.js" ></script>
<script>$(document).ready(function() {
var xhr = null;
$('input[name="keyword"]').keyup(function() {
if(xhr) {
xhr.abort(); //如果存在ajax的请求,就放弃请求
}
var inputText = $.trim(this.value);
if(inputText != "") { //检测键盘输入的内容是否为空,为空就不发出请求
xhr = $.ajax({
type: 'GET',
url: 'searchhoutai.php',
cache: false, //不从浏览器缓存中加载请求信息
data: {
"keyword": inputText
}, //向服务器端发送的数据
dataType: 'json', //服务器返回数据的类型为json
success: function(json) {
if(json.length != 0) { //检测返回的结果是否为空
var lists = "<ul>";
$.each(json, function(i) {
lists += "<li>" + json[i]['Id'] + "</li>"; //遍历出每一条返回的数据
});
lists += "</ul>";
$("#searchbox").html(lists).show(); //将搜索到的结果展示出来
$("li").click(function() {
$("#keyword").val($(this).text()); //点击某个li就会获取当前的值
$("#searchbox").hide();
})
} else {
$("#searchbox").hide();
}
}
});
} else {
$("#searchbox").hide(); //没有查询结果就隐藏搜索框
}
}).blur(function() {
$("#searchbox").hide(); //输入框失去焦点的时候就隐藏搜索框
});
});</script>
</html>
后端 searchhoutai.php
<?php
session_start();
error_reporting(0);
function connectDB() {
$db_server = "localhost";
$db_name = "test";
$db_user = "root";
$db_pwd = "root";
$dsn = "mysql:host=$db_server;dbname=$db_name;";
try {
$connect = new PDO($dsn, $db_user, $db_pwd, array(PDO::ATTR_PERSISTENT => true));
//如果需要数据库长连接,需要最后加一个参数
} catch(PDOException $e) {
exit('数据库连接失败');
}
return $connect;
}
function test($keyword){//从数据库中查找关键字的函数
$db=connectDB();
/*$result=$db->prepare("select * from love where intro like '%?%'");
$result->bindParam(1,$keyword);//第一个问号的值
$result->execute(); */
$result=$db->query("select * from love where intro like '%{$keyword}%'");
}
$keyword=$_GET['keyword'];//获取输入框的内容
$suggestion=test($keyword);
echo json_encode($suggestion);//输出查询的结果(json格式输出)
?>
iters