我最近开始玩Highchards,这真的让人印象深刻,但我在使用jQuery Ajax请求返回的数据更新图表时遇到问题。海图没有使用返回的Ajax数据对象进行更新
我的代码如下:
$.ajax({
type: "POST",
url: "scripts/ajax_testDetails.php",
async: true,
cache: false,
dataType: 'json',
timeout: 30000,
data: "TestID=" + TestID,
success: function(data) {
if(data.Status == "Success"){
document.title = data.FirstName + " " + data.LastName; // This works fine
$('input[name=TestDate]').val(data.TestDateFormat); // This works fine too
console.log("Accuracy2: " + data.Accuracy2); // This works fine
console.log("TPR2: " + data.TPR2); // This works fine too
var Accur1 = 6; // Used to debug, works fine in chart.series[0].setData()
var NewStuff = new Array(25,15,8,18,5); // Used to debug, works fine in chart.series[3].setData()
var Accuracy3 = data.Accuracy2 // Used to debug, returns 'undefined' when used in chart.series[0].setData()
var chart = $('#HeartGraph').highcharts();
// Anything that use the data object here shows as 'undefined' in yData and doesn't change the graph
chart.series[0].setData([randomBetween(1,10),Accur1,data.Accuracy2,Accuracy3,randomBetween(1,10)],false);
chart.series[3].setData([NewStuff[0],NewStuff[1],randomBetween(1,10),data.TPR2,data.TPR3],false);
chart.redraw(); // When redraws, values change except for the ones that use the data. object!
}
});你可以看到,我玩弄成功数据对象并确认它一切正常,但是当我尝试使用chart.series []。setData()函数中的数据时,它不起作用。测试值似乎工作得很好,但。真奇怪,很混乱!
任何意见非常感谢。
丹
非常混乱的代码。你有两个系列。他们都失败了吗?请发布一个简单的例子,其中一个系列失败。 – SteveP 2013-03-28 11:24:17
你能发布完整的数据内容吗? – SteveP 2013-03-28 11:28:50
嗨,两个系列都失败了。我不确定拿出一条线会简化很多事情。 :)我试图表明,我首先使用/检查数据对象,这一切都很好,但是当我使用它来更新系列数据时,它会失败。虽然使用调试变量和随机数字工作正常。 – 2013-03-28 11:29:20