php ajax mysql 出错_php返回数组给ajax出错

我通过php生成了一个数组,并echo回去,ajax进入error(ajax的datatype设为json),我推断原因在于返回的不是json格式。

求大神帮看看,感谢!

ajax部分:

$("#ricotext").keyup(function(){

$.ajax({

type:"post",

url:"search.php",

dataType:"json",

data:{search:$("#ricotext").val()},

success:function(feedbackdata)

{

console.log(feedbackdata);

console.log(success);

},

error:function(feedbackdata)

{

console.log(feedbackdata);

console.log(error);

},

});

});

php部分:

$servername = "localhost";

$username = "root";

$password = "root";

$dbname = "guitartabs";

$search=$_POST["search"];

$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection

if ($conn->connect_error) {

die("连接失败: " . $conn->connect_error);

}

$sql = "SELECT * FROM tabs where name like '%$search%' OR singer like '%$search%'";

$result = $conn->query($sql);

$num_results = $result->num_rows;

if ($result->num_rows > 0) {

//生成空数组

$backresults=array();

for($i=0;$i

$row = $result->fetch_assoc();

//遍历选项并将信息写入数组中

array_push($backresults,array("name"=>$row['name'],"singer"=>$row['singer'],"address"=>$row['address']));

};

//返回给ajax该数组

echo(json_encode($backresults));

} else {

echo "抱歉,本站暂时未收录该乐谱。";

}

$conn->close();

?>

chrome浏览器收到的数据是:

[{"name":"NightWish","singer":"NightWish","address":"uploads\/NightWish.gp5"},{"name":"night","singer":"rico","address":"uploads\/MultiTrack.gp5"},{"name":"nightbar","singer":"ricoq","address":"uploads\/Serenade.gp5"}]

同时console.log打印

readyState: 4

error

说明进入了error。

我觉得如果echo的是一个json对象应该就能解决问题。

请教一下如何解决?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值