배열 형태로 PHP 데이터를 다시 가져 오는 데 문제가 있습니다. Ajax 쿼리를 작성하여 2 div 1에 데이터를 표시하고 두 번째로 모든 데이터가 표시되지만 문제가되는 div가 생성됩니다. 내가 그렇게 TEH 데이터를 할 때 모든 데이터가 드롭 다운 아무것도에 표시한다는 것은 두 번째 DIV 사람이 나를 도울 수에 영향을 미친다 여기 데이터가 Ajax를 반환하지 않습니다.
$(document).ready(function() {
$("#city").on('change', function() {
var city = $('#city option:selected').text();
$(document).ajaxStart(function() {
$('#wait').css('opacity', '1');
});
$(document).ajaxComplete(function() {
$('#wait').css('opacity', '0');
});
$.ajax({
type : "POST",
data : {city: city, command: 'city'},
dataType : 'JSON',
url : "includes/get_data.php",
success : function(data) {
$("#location").html(data.city);
$("#leads").html(data.lead);
}
});
});
});
는 get_data.php에게
if(isset($_POST["command"]) && $_POST['command'] == 'city') {
$sql = mysqli_query($connection, "SELECT DISTINCT location FROM doctors WHERE city = '".$_POST['city']."'");
echo "<option> --- Select Location --- </option>";
while($data1 = mysqli_fetch_assoc($sql)) {
$data['city'] = "<option";
if(isset($_POST['location']) == $data1['location']) {
$data['city'] .= " selected";
}
$data['city'] .= ">".$data1['location']."</option>";
}
$sql2 = mysqli_query($connection, "SELECT * FROM doctors WHERE city = '".$_POST['city']."'");
if(mysqli_num_rows($sql2) >= 1) {
while($data2 = mysqli_fetch_assoc($sql2)) {
$data['lead'] = '<div class="postings doctor">';
$data['lead'] .= '<div class="col-md-9"><div class="inner">';
$data['lead'] .= '<h2>'.$data2['name'].'</h2>';
$data['lead'] .= '<span>'.$data2['field'].'</span>';
$data['lead'] .= '<p><'.$data2['qualification'].'</p>';
$data['lead'] .= '<ul><li><span>Address</span>'.$data2['address'].'</li>';
$data['lead'] .= '<li><span>Fee Range</span>'.$data2['fee_range'].'</li></ul></div></div>';
$data['lead'] .= '<div class="col-md-3"><a href="details.php?id='.$data2['id'].'">View Details</a></div><div class="clearfix"></div></div>';
}
}
echo json_encode($data);
exit();
}
'data = JSON.parse (data);'또는 PHP에서 오른쪽 헤더()를 설정하십시오. – JOUM
data = JSON.parse (data); js 코드를 작성한 main.js에이 코드를 작성해야합니까? –