Javascript Morris图表无法处理动态数据,即使在以Json格式发送数据之后也是如此
我在我的网站中使用Morris图,但当我以JSON格式动态发送数据时,它就不起作用了。但同时,如果我手动推送数据,它就会开始工作。 请提出一些建议 这是密码 函数生成器程序图{ //一些逻辑和下面的对象是return var toreturn={Y:'10000001',A:'-1'},{Y:'10000045',A:'1'}; 回归回归; } 莫里斯酒吧{ 元素:“NLcurrentProgressBar”, 调整大小:对, 数据:[generateUserGraph], 条形图颜色:功能行、系列、类型{ 如果row.y==0{ 返回['6D5858']; } 如果row.y<0,则为else{ 返回['E71717']; } 否则{ 返回['00a65a']; } }, xkey:['Y'], ykeys:[A'], 标签:[], 隐藏:“自动” };Javascript Morris图表无法处理动态数据,即使在以Json格式发送数据之后也是如此,javascript,jquery,morris.js,Javascript,Jquery,Morris.js,我在我的网站中使用Morris图,但当我以JSON格式动态发送数据时,它就不起作用了。但同时,如果我手动推送数据,它就会开始工作。 请提出一些建议 这是密码 函数生成器程序图{ //一些逻辑和下面的对象是return var toreturn={Y:'10000001',A:'-1'},{Y:'10000045',A:'1'}; 回归回归; } 莫里斯酒吧{ 元素:“NLcurrentProgressBar”, 调整大小:对, 数据:[generateUserGraph], 条形图颜色:功能行
必须提供对象数组,但函数返回字符串
function generateUserGraph() {
// some logic and below object is return
var toreturn = [{ Y: '10000001', A: '-1' }, { Y: '10000045', A: '1' }];
return toreturn;
}
Morris.Bar({
element: 'NLcurrentProgressBar',
resize: true,
data: generateUserGraph(),
barColors: function (row, series, type) {
if (row.y == 0) {
return ['#6D5858'];
}
else if (row.y < 0) {
return ['#E71717'];
}
else {
return ['#00a65a'];
}
},
xkey: ['Y'],
ykeys: ['A'],
labels: ['<a href="www.google.com">Question</a>'],
hideHover: 'auto'
});
我发送的字符串不是对象,而是用于解决此问题的字符串。我们需要以对象格式推送数据
除非你给出一个不起作用的代码的最小示例,否则这里没有人能够帮助你。数据:{Y:'10000001',a:'-1'},{Y:'10000045',a:'1'}真的起作用了吗?是的,它起作用了…让我试着在JSFIDLE上提供一些示例。数据:{Y:'10000001',a:'-1'},{Y:'10000045',a'-1'}意思是:数据:{Y:'10000001',A:'-1'},因为下一个对象是另一个元素。这应该更好:数据:[{Y:'10000001',A:'-1'},{Y:'10000045',A:'1'}]嗨,即使这不起作用,它仍将其视为字符串。请建议如何将其转换为正确的格式。嗨,Krzysiek,字符串已转换为object:…但实际上,我正在使用localStorage中的一些值在连接各种字符串后动态创建toreturn字符串,这就是我返回字符串的原因。请帮助我了解uch我从localStorage准备数据的情况下,是否有其他解决方法,可能是我走错了方向。请建议将.string转换为object?没有,除非您自己做,但不在本代码中。JSON.parse和JSON.stringify用于从localStorage存储和还原数据,然后像每一个物体。