2013-03-16 184 views
2

我在与一个多线图的奇怪的问题。该图描绘了来自mysql数据库的数据,其中以5秒的间隔添加新行以模拟“实时”数据。当数据从数据库重新拉出时,图形以5秒的间隔更新。未捕获的SyntaxError:意外令牌<

Uncaught SyntaxError: Unexpected token < 
d3_json 
respond 

的数据如下被施加到每个路径/线::

var parameter = svg.selectAll(".parameter") 
    .data(data, function(d) { return d.key; }) 
    .enter().append("g") 
    .attr("class", "parameter"); 

parameter.append("path") 
    .attr("class", "line") 
    .attr("d", function(d) { return line(d.values); }) 
    .style("stroke", function(d) { return color(d.key); }); 
每在更新的数据拉的时间与这些错误的3 -

的“流”停止和启动

..then更新的数据以5秒的间隔读入和图形更新,并相应地转换:

d3.json("LiveData.php", function(error, data) 
{  
    color.domain(d3.keys(data[0]).filter(function(key) { return key == "testSource_id"; })); 
    data = data.map(function (d) { 
    d.testSource_id = +d.testSource_id; 
    d.dateTimeTaken = parseDate(d.dateTimeTaken); 
    d.reading = +d.reading; 
    d.parameterType = d.parameterType; 
    d.parameter_id = +d.parameter_id; 
    return d; 
}); 

data = d3.nest().key(function(d) { return d.testSource_id; }).entries(data); 

x.domain([d3.min(data, function(d) { return d3.min(d.values, function (d) { return d.dateTimeTaken; }); }), 
d3.max(data, function(d) { return d3.max(d.values, function (d) { return d.dateTimeTaken; }); })]); 
y.domain([d3.min(data, function(d) { return d3.min(d.values, function (d) { return d.reading; }); }), 
d3.max(data, function(d) { return d3.max(d.values, function (d) { return d.reading; });})]); 

var newparameters = svg.selectAll("g.parameter") 
    .data(data); 

newparameters 
    .select("path.line") 
    .transition() 
    .ease("linear") 
    .duration(750) 
    .attr("d", function(d) { return line(d.values); }) 

svg.select(".x.axis") 
    .transition() 
    .duration(750) 
    .ease("linear") 
    .call(xAxis); 

svg.select(".y.axis") 
    .transition() 
    .duration(750) 
    .ease("linear") 
    .call(yAxis); 

我不知道这是否是由我转换路径/线路的方式引起的,还是它可能与从数据库中提取数据的方式有关?谁能帮忙?

+0

线3:'数据= data.map(函数(d){'某处关闭该功能) – Ven 2013-03-16 21:38:35

+0

忘记了包括在上面的代码中的所有闭括号但它们都是有在原来的代码。 – Newbie 2013-03-16 22:31:00

回答

1

这个问题的时候通过访问传递给d3.json的URL返回的数据是无效的JSON发生。在你的情况下,我猜LiveData.php正在返回HTML而不是JSON。它也可能是一个通用的404或其他错误页面。

相关问题