Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.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 莫里斯甜甜圈图表的设置数据_Javascript_Morris.js - Fatal编程技术网

Javascript 莫里斯甜甜圈图表的设置数据

Javascript 莫里斯甜甜圈图表的设置数据,javascript,morris.js,Javascript,Morris.js,我正在尝试使用莫里斯甜甜圈图表 如果我硬编码数据如下: donutData = [{"label":"iPad Simulator:iOS:iPad Simulator x86_64","value":14},{"label":"android","value":6}]; var chart = Morris.Donut({ element: 'morris-donut-chart', data: donutData, resize: t

我正在尝试使用莫里斯甜甜圈图表

如果我硬编码数据如下:

donutData = [{"label":"iPad Simulator:iOS:iPad Simulator x86_64","value":14},{"label":"android","value":6}];

 var chart =    Morris.Donut({
        element: 'morris-donut-chart',
        data: donutData,
        resize: true,
        parseTime:false
    });
它很好用。但是,如果我像下面这样添加一个ajax调用

var chart =    Morris.Donut({
        element: 'morris-donut-chart',
        data: donutData,
        resize: true,
        parseTime:false
    });


    $.ajax({ url: 'http://127.0.0.1:7101/MUDRESTService/rest/v1/feedbackdistribution?onlyData=true',
            
             type: 'get',  
             dataType: 'json',    
             success: function(output) {
                var ddata = JSON.stringify(output.items);
                ddata = ddata.replace(/Label/g,'label');
                 ddata = ddata.replace(/Value/g,'value');
                console.log(ddata);

                chart.setData(ddata);
}
});
然后失败并出现错误:

Error: Invalid value for <path> attribute d="M,0,0"q @ raphael-min.js:10w @ raphael-min.js:10c._engine.path @ raphael-min.js:11v.path @ raphael-min.js:10b.DonutSegment.b.drawDonutArc @ morris.min.js:7b.DonutSegment.b.render @ morris.min.js:7b.Donut.d.redraw @ morris.min.js:6b.Donut.d.setData @ morris.min.js:7$.ajax.success @ morris-data.js:80j @ jquery.js:3094k.fireWith @ jquery.js:3206x @ jquery.js:8259(anonymous function) @ jquery.js:8600
错误:属性d=“M,0,0”的值无效q@raphael-min.js:10w@raphael-min.js:10c.\u engine.path@raphael-min.js:11v.path@raphael-min.js:10b.DonutSegment.b.drawDonutArc@morris.min.js:7b.DonutSegment.b.render@morris.min.js:7b.Donut.d.redraw@morris.min.js:6b.Donut.d.setData@morris.min.js:7$.ajax.success@morris.js:80j@jquery.js:3094k@firew@jsjquery.js:8259(匿名函数)@jquery.js:8600

请注意,ddata具有完全相同的数据

尝试将
JSON.stringify
替换为
$.parseJSON

var ddata = $.parseJSON(output.items);

问题是
ddata
被视为字符串而不是数组

我不得不更改代码,如下所示:

var arr = [];
arr = ddata;
chart.setData(arr);

此解决方案是否适用于
var ddata=JSON.stringify(output.items)