我正在创建一个搜索。用户搜索一个城市,该城市的前 10 个景点出现在 div 中。我想要每个 div 一个景点,在我尝试添加任何 JSON 之前,数据都出现在一个 div 中。
在我的 AJAX 代码中,我收到警告,表示存在某种错误,但我不确定是什么错误。这是我的 AJAX 代码
$.ajax({
url: 'searching.php',
type: 'POST',
dataType: 'json',
success: function(data){
$('#return').html(data.html);
},
error: function(jqXHR, textStatus, errorThrown){
$('#return').html('');
alert('Error Loading');
}
});
在 searching.php 中,我连接到数据库并从中检索数据。在 if 语句中,如果数据库中的结果与输入到搜索栏中的结果相匹配,则返回此信息。
else {
while ($row = mysqli_fetch_array($result)) {
$attraction_name = $row['attraction_name'];
$image = "<img src='{$row['image']}' height='100' width='100'>";
$lat = $row['lat'];
$long = $row['long'];
$cost = $row['cost'];
$output .= "<li>$attraction_name $lat $long $cost $img</li>";
}
$json = array();
$json['html'] = '<li>' . $output . '</li>';
header('Content-Type: application/json');
echo json_encode( $json );
}
在 HTML 中有一个 div id = #return。我想将景点名称、景点的图像、它在 map 上的位置以及景点的费用放在一个 div 中。但是每个 div 都需要不同,因为有 10 个不同的景点。最后我很想知道如何添加单独的 div 来匹配 MySQL 中的特定行数据。但是,如果我能找出我的 AJAX 中出现错误的原因,那就太好了。
最佳答案
<?php
$json = array('hmtl' => '<li>' . $output . '</li>');
echo json_encode( $json );
?>
如果我是对的,您的元素将根据 id 的功能在不同的 div 中显示不同的答案? imo 要解决这个问题,您需要在 ph 文件中创建一个循环以返回包含所有信息的完整数组。
$image = "<img src='{$row['image']}' height='100' width='100'>";
$lat = $row['lat'];
$long = $row['long'];
$cost = $row['cost'];
$output .= "<li>$attraction_name $lat $long $cost $img</li>";
你见过 $img 和 $image 吗?
关于javascript - 从数据库中检索数据时,AJAX 代码与 JSON 和 PHP 不相关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47908121/