2013-03-28 38 views
0

我最近开始玩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()函数中的数据时,它不起作用。测试值似乎工作得很好,但。真奇怪,很混乱!

任何意见非常感谢。

+0

非常混乱的代码。你有两个系列。他们都失败了吗?请发布一个简单的例子,其中一个系列失败。 – SteveP 2013-03-28 11:24:17

+0

你能发布完整的数据内容吗? – SteveP 2013-03-28 11:28:50

+0

嗨,两个系列都失败了。我不确定拿出一条线会简化很多事情。 :)我试图表明,我首先使用/检查数据对象,这一切都很好,但是当我使用它来更新系列数据时,它会失败。虽然使用调试变量和随机数字工作正常。 – 2013-03-28 11:29:20

回答

1

一种可能性是,你的json数据包含字符串而不是数字。这可能会导致数据系列出现问题。试图转换到数字,无论是在服务器中,或在JavaScript这样的:

chart.series[0].setData([ 
    randomBetween(1,10), 
    Accur1 * 1, 
    data.Accuracy2 * 1, 
    Accuracy3 * 1, 
    randomBetween(1,10)],false); 

的“* 1”的字符串值转换为数字的。

+0

谢谢!这恰恰是错误的。 – 2013-03-28 12:08:05

+0

所以一切正常? – 2013-03-28 14:28:56

相关问题