【发布时间】:2014-10-03 09:40:54
【问题描述】:
我正在使用下面的代码将数据绘制到 flot 中,当我打印出 dataOne 时,它会为 flot 返回格式正确的值,但是当我将其设置为 flot 到图形的数据时,flot 会形成一个图形但随后有没有数据点?
<!DOCTYPE HTML>
<html>
<head>
<title>AJAX FLOT</title>
<script language="javascript" type="text/javascript" src="../../jquery.js"></script>
<script language="javascript" type="text/javascript" src="../../jquery.flot.js"></script>
<script language="javascript" type="text/javascript" src="../../jquery.flot.time.js"></script>
</head>
<body>
<div id="placeholder" style="width: 100%;height: 600px;"></div>
<script language="javascript" type="text/javascript">
var options = {
lines: {
show: true
},
points: {
show: true
},
yaxis: {
min: "0",
max: "1023"
},
xaxis: {
mode: "time"
}
};
function update() {
$.ajax({
url: "http://localhost/data.php",
context: document.body
}).done(function(response) {
dataOne = response;
var d = "[" + dataOne + "]";
var plot = $.plot($('#placeholder'), [d], options);
setTimeout(update, 1000);
});
}
update();
</script>
</html>
【问题讨论】:
-
您的数据格式错误。这个
$current .= '[' . $t . ', ' . $data . ']';告诉我你正在引用数字并将它们变成字符串。执行console.log(series)并使用输出更新您的问题。 -
在此代码中,一旦进入 var 数据,它就不起作用。我有一个 php 页面在输出进入变量之前打印输出,并且它的格式正确,因为我有一个基于 PHP 的图形处理相同的输出 $.ajax({ url: "localhost/data.php", context: document.body }).done(function(response) { // 获取 ajax 响应 dataOne = response; // 如果 data 不为空,设置你的绘图数据 var data = [ { label: "Blackwood River Levels", data: [ dataOne ] } ]; var plot = $.plot($('#placeholder'), data, options);
-
如果我执行 document.write(data),它会返回 [object Object],但是 flot 仍然可以识别标签,所以它只是在发生这种情况的地方打印它。
-
In this code here, as soon as it goes into the var data it doesn't work,这是什么意思?有什么错误?console.log(series)产生了什么? -
@Mark 我已经更新了问题以使其更加清晰。执行 console.log(dataOne) 会返回如下值:[1412393775000, 277], [1412393777000, 277], [1412393778000, 277]
标签: javascript php jquery json flot