javascript - 数据未返回 Ajax

标签 javascript php jquery html ajax

我在以数组的形式重新调整 php 数据时遇到问题,我创建了一个 ajax 查询来显示 2 个 div 上的数据,第 1 个是下拉列表,第二个是将显示所有数据的 div,但问题是当我尝试这样做,所有数据都显示在下拉列表中,并且没有任何影响第二个 div 任何人都可以帮助我

$(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();
}

最佳答案

删除echo "<option> --- Select Location --- </option>";获取有效的 json:)

关于javascript - 数据未返回 Ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39440276/

相关文章:

javascript - 当 div 存在或加载时更改内容

javascript - 计算 Javascript 对象数组中的重复对象

php - 有没有办法同时添加 stripslashes 和 mysql 转义字符串来清理数据?

javascript - 未定义索引 : name while processing this AJAX Code

javascript - 如何在 HTML 元素中显示和隐藏数组的每个项目?

jquery - 图像 slider jQuery 中的动画错误

javascript - Jquery 根据选择的值计算折扣

javascript - 如何将 unicode JavaScript 字符串转换为字节数组?

javascript - 如果音频标签 src 加载失败,则确定音频文件长度 Javascript

php - MySQL 选择全部并根据另一列更新特定列字段