我在我的页面中使用morris条形图。在静态发送数据时,其工作正常。但是当我以相同的格式获取动态数据时,条形图将数据显示为未定义。
var feedback=data[0].feedback;
console.log(feedback.length);
for(i=0;i<feedback.length;i++)
{
customer.push("{ 'x':'"+feedback[i].product_name+"', 'y':"+feedback[i].cust_feedback+"}");
}
var customer1=JSON.stringify(customer);
customer1 = customer1.replace(/\"/g,'');
customer1 = customer1.replace(/\'/g,'"');
Morris.Bar({
element: 'morris-bar-customer_feedback',
data:customer1,
xkey: 'x',
ykeys: ['y'],
labels: ['Tickets'],
xLabelAngle: 25
});
最后一个数组是
[{ "x":"TV", "y":1},{ "x":"Laptop", "y":4},{ "x":"Refrigerator", "y":3}]
答案 0 :(得分:0)
var customer1 = JSON.stringify(customer);
customer1 = customer1.replace(/\"/g,'');
customer1 = customer1.replace(/\'/g,'"');
var customera = customer1.concat();
var customers = JSON.parse(customera);
Morris.Bar({
element: 'morris-bar-customer_feedback',
data:customers,
xkey: 'x',
ykeys: ['y'],
labels: ['Tickets'],
xLabelAngle: 25
});
我使用了concat函数函数,然后解析了Json数据。现在我正在获得完美的条形图。我认为以前的数组中有一些未知数据。
答案 1 :(得分:0)
我认为问题在于您将setAll()
而不是javascript对象传递给bar插件的string
选项。您可以尝试以下修改:
data: