我好像在这里显示json数据有问题.. $ .each不起作用。我收到此错误:未捕获TypeError:无法使用'in'运算符来搜索'length'。下面给出了jQuery和php的代码。帮助我找到错误的地方是非常有帮助的。
jQuery的:
$(document).ready(function(){
$(document).on('click','#dispf',function(e){
e.preventDefault();
var prjid=$(this).data('id');
console.log("Here"+prjid);
$.ajax({
type:"post",
url:"fetch_pdet.php",
data:"p_id="+prjid,
success:function(res){
console.log(res); //This displays as json string
$.each(res,function(i,pdet){ // here the error occurs
console.log(res.proj.title);
});
}
});});
});
php:
<?php
$pid=$_POST['p_id'];
$qry="SELECT * from stud_proj where proj_id=$pid";
$res=mysqli_query($link,$qry);
$row=mysqli_fetch_assoc($res);
$cid=$row['categ_id'];
$qry1="SELECT * from categ where categ_id=$cid";
$res1=mysqli_query($link,$qry1);
mysqli_data_seek($res,0);
if($res && $res1){
$pdet=array();
while($row1=mysqli_fetch_assoc($res))
{
$pdet['proj']=$row1;
}
while($row2=mysqli_fetch_assoc($res1))
{
$pdet['catg']=$row2;
}
//header('Content-type: text/json');
echo json_encode($pdet);
?>
答案 0 :(得分:0)
您需要将JSON字符串转换为javascript对象以循环它
$.each(JSON.parse(res),function(i,pdet){
...
}
这应该可以解决问题。