Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用动态数据绘制Chart.js,但显示“无法读取”属性;跳过“;未定义的_Javascript_Angularjs - Fatal编程技术网

Javascript 使用动态数据绘制Chart.js,但显示“无法读取”属性;跳过“;未定义的

Javascript 使用动态数据绘制Chart.js,但显示“无法读取”属性;跳过“;未定义的,javascript,angularjs,Javascript,Angularjs,我不熟悉angular js和chart js。我想用带有动态数据的图表js绘制图形,下面是服务器返回时的结果: 我从服务器获取“nameArray”和“values”,并希望将其放入chart.js中 $scope.drawChart = function () { console.log("start draw"); var name = $scope.result.nameArray var value = $sc

我不熟悉angular js和chart js。我想用带有动态数据的图表js绘制图形,下面是服务器返回时的结果:

我从服务器获取“nameArray”和“values”,并希望将其放入chart.js中

 $scope.drawChart = function () {
            console.log("start draw");
            var name = $scope.result.nameArray
            var value = $scope.result.values
            var ctx = document.getElementById('myChart').getContext('2d');
            var chart = new Chart(ctx, {
                // The type of chart we want to create
                type: 'bar',

                // The data for our dataset
                data: {
                    labels: name,
                    datasets: [{
//                        label: "My First dataset",
                        label: name,
                        backgroundColor: 'rgb(255, 99, 132)',
                        borderColor: 'rgb(255, 99, 132)',
//                        data: [0, 10, 5, 2, 20, 30, 45],
                        data: value,
                    }]
                },

                // Configuration options go here
                options: {}
            });
        }
还有我的角度控制器部分:

$scope.result = [];
$scope.getPosts = function () {
            $http({
                method: 'POST',
                url: 'http://localhost/test.php',
                data: {
                    "action": "getchartdata",
                    "username": "username",
                    "deptname": "departname",
                    "officename": "office",
                    "softwarename": "this",
                    "StartTime": "time",
                    "EndTime": "time",
                    "ipaddress": "10.0.90.1"
                },
                headers: {
                    'Content-Type': 'application/x-www-form-urlencoded',
                },
                transformRequest: function (data) {
                    var str = [];
                    for (var p in data)
                        str.push(encodeURIComponent(p) + "=" + encodeURIComponent(data[p]));
                    return str.join("&");
                }
            }).then(function (result) {
                $scope.result = result.data
                console.log($scope.result);
                console.log($scope.result.nameArray)
                $scope.drawChart();
            }, function (error) {
                console.log("error")
            });
        };
我得到这个错误:


我不知道那里发生了什么,或者chartjs不支持这样做?

你能解析两个数组JSON.parse($scope.result.nameArray)JSON.parse($scope.result.values)并看看是否有任何区别吗?@Vivz是的,它可以工作。一旦我转到JSON.parse,这个错误就消失了,图形函数现在正在工作。是的,我知道您必须解析:)