就是写搜索框的模糊搜索,问题是点击搜索后,ajax事件没有调用成功,弹出框也没有显示,求大神找出错在哪里,我实在是找不到了
gcsk.html页面 JS代码
$('#search').click(function(){
var ziduan = $('.trade-search #bookselect').val();
var keywords = $('.position #keywords').val();
console.log(ziduan,keywords);
$.ajax({
type: "GET",
url: "searchsome.php",
data: "ziduan=" + ziduan + "&keywords=" + keywords,
dataType:"json",
success: function(msg){
alert( "Data Saved: " + msg );
var nr = '';
for(var i = 0; i < msg.length; i++){
nr += '<li><div class="list-left">' + msg[i].bookid + '</div><div class="list-right"><h4>' + msg[i].bookname + '</h4><p>' + msg[i].author + '</p><p>' + msg[i].press + '</p><p>' + msg[i].bookinfo + '</p></div></li>';
}
$(".trade-list").html(nr);
}
});
})
searchsome.php 代码
<?php
// 连接数据库
$conn= mysqli_connect('localhost','root','root','library');
// 设置传输编码
mysqli_query($conn,'SET NAMES UTF8');
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH'])){
if(!empty($_GET)){
$ziduan = $_GET['ziduan'];
$keywords = $_GET['keywords'];
$sql = "SELECT * FROM `book` WHERE `$ziduan` LIKE %$keywords%";
$result = mysqli_query($conn,$sql);
$book = array();
while($r = mysqli_fetch_assoc($result)){
$book[]=$r;
}
}
echo json_encode($book);
include('gcsk.html');
}
else{
include('gcsk.html');
}
?>
在浏览器控制台看一下错误信息
可是控制台没有报错呀
事件绑上了么?进方法里了? F12 断点,看是哪走错了
事件绑定了,可以获取到字段和关键字,可就是PHP的数据库的数据没有返回成功
@雨後的彩虹: 打桩,看是前台请求是否发出,参数是否正确,是否有接到后台返回数据,然后再看后台,是否接到前台请求,是否返回了数据,先确定具体问题发生处,再搞清楚为什么会发生,什么导致,这样才能针对性解决,不然连bug原因都不清楚,没法解决呀~
你还是先确定是前台的问题还是后台的问题!
console.log(ziduan,keywords); //ie8是不支持的,在ie8中下面的异步是不会请求的
用的是谷歌,不是IE
你是点击事件有问题 还是你的ajax有问题 你自己试试在 点击事件里加上个alert看看能不能出来
应该是ajax事件没有获取成功,没有数据返回,所以没有alert出来
$.ajax({
type: "GET",
url: "searchsome.php",
data: "ziduan=" + ziduan + "&keywords=" + keywords,
dataType:"json",
success: function(msg){...}
})
这里边好多错呀 ,type :post ,data传输的格式是Json格式,可是你给后台的数据是Json格式的数据吗?你通过Url定位到一个php文件,这个文件对应的接收数据的方法是什么?
我是用get方式获取的数据,然后返回的json格式
这是链接的PHP文件,帮忙看下有木有错
// 连接数据库
$conn= mysqli_connect('localhost','root','root','library');
// 设置传输编码
mysqli_query($conn,'SET NAMES UTF8');
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH'])){
if(!empty($_GET)){
$ziduan = $_GET['ziduan'];
$keywords = $_GET['keywords'];
$sql = "SELECT * FROM `book` WHERE `$ziduan` LIKE %$keywords%";
$result = mysqli_query($conn,$sql);
$book = array();
while($r = mysqli_fetch_assoc($result)){
$book[]=$r;
}
}
echo json_encode($book);
}
else{
include('gcsk.html');
}