将Ajax响应数组传递给Chart.js

时间:2016-11-15 21:30:54

标签: jquery arrays ajax chart.js

我使用从php通过ajax传递的数组有问题。 我需要将数据放入Chart.js图。

我的Ajax看起来像这样:

$.ajax({
    url: "/wordpress/wp-admin/admin-ajax.php",
    method: "POST",
    data: { action: 'hfwpGetGraph' },
    success: function(response) {
        var myLabels = [];
        var myData = [];

        for(var i in response) {
            myLabels.push(response[i].Date);
            myData.push(response[i].DiaLevel);
        }
        <Chart.js code>
    } // End Success
})  // End Ajax

如果我每行显示我的数组,它看起来像这样:

[{"ID":"17","UserID":"29","Date":"2016-09-25","Systolic1":"50","Systolic2":"0","Systolic3":"45","Diastolic1":"48","Diastolic2":"0","Diastolic3":"51","SysAverage":"0","DiaAverage":"0","SysLevel":"0","SysText":"","DiaLevel":"0","DiaText":""},

如果我显示&#34; myLabels&#34;或&#34; myData&#34;他们都表明:

,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

我做错了什么...... ??

注意:我的php数组传递方式如下:

echo json_encode($graphData);

此致 弗莱明

1 个答案:

答案 0 :(得分:0)

我通过在“成功”之后添加“parseJSON”解决了这个问题。

success: function(response) {
     var json = $.parseJSON(response);

但我不明白解决方案的完整概念。 我见过的大多数例子都是通过ajax从php解析一个array()到javascript不使用parseJSON转换。

他们只是使用响应,就好像它已经是一个数组而不是一个字符串。