Javascript没有从PHP获取数据?

时间:2017-12-02 19:28:03

标签: javascript php ajax

我正在尝试使用javascript,ajax和php绘制一些数据。

这是我的test.php:         

    $query=sprintf("SELECT COUNT( `cases_title`) as count ,`cases_title` FROM `classifies` GROUP BY `cases_title`");
    $result=$mysqli->query($query);

    $data=array();
    foreach($result as $row){

    $data[]=$row;
    }
    $result->close();
    $mysqli->close();
    print json_encode($data);

    ?>

我打印输出,它是:

    [{"count":"7","cases_title":"ANGINA"},{"count":"1","cases_title":"ASTHMA"},{"count":"4","cases_title":"MI"}]

所以我认为test.php正在发挥作用。

这是我的app.js

$(document).ready(function(){
    $.ajax({
        url: "http://localhost/final/test.php",
        method: "GET",

        success: function(data) {

            console.log(data);
            var cas=[];
            var cou=[];

      //   document.write(data);
            for(var i in data) {

                cas.push(data[i].cases_title);
                cou.push(data[i].count);
            }

            console.log(cou);
            var chartdata = {
                labels: cas,
                datasets : [
                    {
                        label: 'Count',
                        backgroundColor: 'rgba(200, 200, 200, 0.75)',
                        borderColor: 'rgba(200, 200, 200, 0.75)',
                        hoverBackgroundColor: 'rgba(200, 200, 200, 1)',
                        hoverBorderColor: 'rgba(200, 200, 200, 1)',
                        data: cou
                    }
                ]
            };

            var ctx = $("#mycanvas");

            var barGraph = new Chart(ctx, {
                type: 'bar',
                data: chartdata
            });
        },
        error: function(data) {
            console.log(data);
        }
    });
});
app.js中的

document.write(data)会返回:[{"count":"7","cases_title":"ANGINA"},{"count":"1","cases_title":"ASTHMA"},{"count":"4","cases_title":"MI"}]

然而阵列没有被填充。它们显示为undefinedtest.php的网址是正确的。

导致数组coucas无法填充的原因是什么?我无法理解。

1 个答案:

答案 0 :(得分:0)

在通过网络传输有效的json数据之前,您必须使用JSON.parse(数据)或JSON.stringify的另一端解析响应为json。