我正在使用 c3 + d3 + javascript 在网页中创建折线图。我设法创建了一个在本地运行良好的代码,但是当我将它上传到我的服务器时,代码停止工作。我在下面解释问题:
问题:上传到服务器时,c3.generate 没有抛出错误
JSFiddle:http: //jsfiddle.net/xq6wmyvp/10/
var chart;
function initialize(path) {
try {
c3.generate({
bindto: '#chart',
data: {
x: 'label',
url: path,
type: 'line',
},
axis: {
x: {
type: 'categories',
label: {
text: 'days',
},
},
y: {
label: {
text: 'yield',
},
tick: {
format: d3.format(".2%")
}
}
},
});
} catch (err) {
return false;
}
return true;
}
var path1 = 'https://gist.githubusercontent.com/SamMorrowDrums/f571240047c0344a4af8/raw/433eae455570b64edcdc7ece39416b468b612f49/test.csv';
alert(initialize('blabla'));
代码说明:代码(在小提琴中)具有使用一些数据初始化带有折线图的图表的功能。数据的路径作为该函数的变量给出(称为“初始化(路径)”)。此函数使用 c3.generate 创建图形。如果数据不可用或不存在,c3.generate 会抛出错误(这在本地有效,但在上传到服务器时无效 - 这是问题所在)并且函数(初始化)返回 false。如果数据存在,则加载图形并“初始化”返回 true。
问题重述:将代码上传到服务器后,函数“initialize(path)”仅返回“true”,即使数据不可用/不存在。
我不知道如何解决这个问题。你能帮助我吗?谢谢阅读!
(问题的 Github 链接:https ://github.com/masayuki0812/c3/issues/960 )