Javascript 如何使用jQuery从php文件中的json_编码数据中获取数据?
我是一个编码新手。我试图在客户端显示数据库中的所有图片。我可以在我的php文件中这样做,但我无法使用jQuery获取json_编码数据。 谁能帮帮我吗?提前谢谢你 以下是我的PHP代码:Javascript 如何使用jQuery从php文件中的json_编码数据中获取数据?,javascript,php,jquery,json,get,Javascript,Php,Jquery,Json,Get,我是一个编码新手。我试图在客户端显示数据库中的所有图片。我可以在我的php文件中这样做,但我无法使用jQuery获取json_编码数据。 谁能帮帮我吗?提前谢谢你 以下是我的PHP代码: foreach ($pictures as $picture){ $photos = "<p><img src='".$picture['link']."' width='200' height='200'></p><p id='title'>".$p
foreach ($pictures as $picture){
$photos = "<p><img src='".$picture['link']."' width='200' height='200'></p><p id='title'>".$picture['title']."</p><p id='descr'>".$picture['descr']."</p>";
echo json_encode($photos);
}
再次感谢你 由于您已经提供了数据类型:“json”,因此无需再次对数据执行$.parseJSON,您只需使用:
$("#grid").append(photos);
您实际上不需要json。在这种情况下,您只需发送html:
foreach ($pictures as $picture){
$photos .= "<p><img src='".$picture['link']."' width='200' height='200'></p><p id='title'>".$picture['title']."</p><p id='descr'>".$picture['descr']."</p>";
}
echo $photos;
试试这个
foreach ($pictures as $picture){
$photos[] = "<p><img src='".$picture['link']."' width='200' height='200'></p><p id='title'>".$picture['title']."</p><p id='descr'>".$picture['descr']."</p>";
}
echo json_encode('photos' => $photos);
有什么问题吗?发生了什么?不要调用$.parseJSON。当您指定数据类型为“json”时,jQuery会为您这样做。您的json没有任何意义。如果您只想回显HTML字符串,那么没有理由使用JSON。如果不是,JSON不能像那样连接。可能是我第一次尝试在php文件中获取数据回显时使用的.get的副本。这是一个成功,但是它也会在同一个php文件中得到其他echo-ed字符串…所以我做了一些研究并尝试了.ajax和json_-encode…但是这种方式没有在我的html客户端上显示任何内容。也感谢您的帮助!
$.ajax({
type: 'GET',
url: 'server/picture_client.php',
dataType: 'html',
success: function(photos){
if(photos){
$("#grid").append(photos);
}else{
alert("oops nothing happened :(");
}
}
foreach ($pictures as $picture){
$photos[] = "<p><img src='".$picture['link']."' width='200' height='200'></p><p id='title'>".$picture['title']."</p><p id='descr'>".$picture['descr']."</p>";
}
echo json_encode('photos' => $photos);
$.ajax({
type: 'GET',
url: 'server/picture_client.php',
dataType: 'json',
success: function(results){
$.each(results.photos, function(i, item) {
$("#grid").append(item);
});
}
});