jQuery没有推送JSON数据

时间:2015-06-30 10:14:37

标签: javascript php jquery json

我有以下脚本,它应该提取数据并将其显示在HTML表格中:

$('#search_filter_button').click(function (e) {
    e.preventDefault(); // Stop form submission
    var county = $('#filter_county').val(),
        kp_type = $('#filter_kp_type').val(),
        getUrl = window.location,
        baseUrl = getUrl.protocol + "//" + getUrl.host + "/" + getUrl.pathname.split('/')[1];

    html_tr = '';
    $.ajax({
        type: 'GET',
        url: baseUrl + "/reports/get_report.php?county=" + county + "&kp_type=" + kp_type,
        dataType: "JSON",
        success: function (data) {
            console.log(data);
            for (i = 0; i < data.length; i++) {    
                html_tr += '<tr>\n\
                <td>' + data[i].name + '</td>\n\
                <td>' + data[i].Abbrv + '</td>\n\\n\
                <td>' + data[i].partner_name + '</td>\n\\n\
                <td>' + data[i].facility_name + '</td>\n\\n\
                <td>' + data[i].county + '</td>\n\\n\
                <td>' + data[i].no_kps + '</td>\n\\n\
                <td>' + data[i].activity_stamp + '</td>\n\</tr>';
            }

            $('#tbody_append').empty();
            $('#tbody_append').append(html_tr);
        }, error: function (data) {
        }
    });
});

我的get_report.php文件如下所示:

include '../database/db_connect.php';

$mysqli = mysqli_connect($host_name, $user_name, $password, $database);

$county = $_GET['county'];
$kp_type = $_GET['kp_type'];

// get the records from the database
$result = mysqli_query($mysqli, "SELECT * FROM `no_individaul_kps_contacted` where county='$county'");

$count_row = mysqli_num_rows($result);
if ($count_row >= 1) {
    // display records if there are records to display

    while ($user_data = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
        echo json_encode($user_data);
    }
} else {
    // show an error if there is an issue with the database query
    echo "Error: " . $mysqli->error;
}

// close database connection
mysqli_close($mysqli);

这将获取信息并以JSON ENCODE格式回显它。但我的JavaScript并未取得成功 请告诉我我做错了什么。

1 个答案:

答案 0 :(得分:0)

将用户数据收集到while循环内的数组中,并将json_encode($data)移到while循环之外:

$select = "SELECT * FROM `no_individaul_kps_contacted` where county='$county'";
$result = mysqli_query($mysqli, $select);
$data = [];

while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
    $data[] = $row;
}

echo json_encode($data);