2009-11-14 6 views
0

Le code javascript est

$(document).ready(function() {var options = { 
    series: { points: { show: true }, shadowSize: 0 }, 
    xaxis: { mode: "time" }, 
    yaxis: { min:0, max: 100 }, 
    pan: { interactive: true }}; 
    $.getJSON("http://localhost:8085/WebApplication1/metricsJson.jsp?instanceId=3457", 
     function(data){ 
     alert(data); 
     var plot = $.plot($("#placeholder"), data, options); 
    });}); 

et http://localhost:8085/WebApplication1/metricsJson.jsp?instanceId=3457 retours

{ "data": [[[1258216500000,4.91], [1258212240000, 4,39], [1258216920000,4.46], [1258211640000,4.39], [1258210980000,4.82]]]}

merci

Répondre

1

normalement, je test avant que je poste, mais je wil Je poste à l'aveuglette ici.

Je crois qu'une chose à vérifier est la façon dont vous passez les données à flotter. Je pense que votre appel au traceur Flot devrait ressembler à ceci (étant donné la façon dont vous avez vos variables nommées):

$.plot($("#placeholder"), data.data, options); 

C'est à cause de la façon dont fonctionne JSON. Deuxièmement, je pense que flot attend un tableau 2d, pas un 3D. Votre objet JSON consiste en un tableau de deux tableaux d'éléments dans un autre tableau. Si vous le pouvez, demandez à votre serveur de ne renvoyer qu'un tableau à deux dimensions. Sinon, vous pouvez essayer:

$.plot($("#placeholder"), data.data[0], options); 
+0

Il fonctionnera si vous passez 'data.data', voici un exemple de travail en utilisant les options disponibles et les données: http://jsbin.com/udace –

+0

Merci Ryan! Je n'étais pas installé ici pour l'essayer. – jeremyosborne

+0

J'ai essayé data.data et data.data [0], mais les graphiques ne sont pas tracés. –