flot получает данные из json, но показывает пустой график - PullRequest
1 голос
/ 01 сентября 2011

Это код, когда я вручную вставляю данные json в ряды, где получается график, но с помощью вызова ajax могу получить данные json, но диаграмма пуста.

$(document).ready(function(){
$.ajax({
            url:"sqljson.php",
            method:"GET",
            datatype:"json",
            success:graph
        })

        function graph(series){
                var data=series;

                alert(series);
                var options={
                lines:{show:true},
                points:{show:true,hoverable:true},
                grid:{hoverable:true,clickable:true}
                }

            $.plot($("#place"),[data], options);    
            }


    });

данные json: получено в окне предупреждения

[["253","5"],["254","32"],["255","10"],["256","50"],["257","1"],["258","2"["259","100"],["260","38"],["261","2"],["262","20"],["263","2000"],["264","500"],    ["265","400"],["266","10"],["267","50"],["268","9"],["269","200"],["270","40"]["271","700"],["272","188"],["273","73"]]

1 Ответ

3 голосов
/ 10 ноября 2011

Согласно FAQ Flot :

В: Flot не работает, когда я использую данные JSON в качестве источника!

A: На самом деле, Флот любит данные в формате JSON, вы просто неправильно указали формат. Дважды проверьте, что вы не вводите строки вместо цифр, как [["0", "-2.13"], ["5", "4.3"]]. Это самая распространенная ошибка, и ошибка может появиться не сразу, потому что Javascript может сделать некоторые преобразование автоматически.

Вам нужно изменить свой выходной JSON, чтобы не было кавычек, т. Е .:

[[253,5],[254,32],[255,10],[256,50],[257,1],[258,2],[259,100],[260,38],[261,2],[262,20],[263,2000],[264,500],[265,400],[266,10],[267,50],[268,9],[269,200],[270,40][271,700],[272,188],[273,73]]

Однако, это может не сработать, он должен быть в формате, подобном this , поэтому:

{
 "label": "example",
  "data": [[253,5],[254,32],[255,10],[256,50],[257,1],[258,2],[259,100],[260,38],[261,2],[262,20],[263,2000],[264,500],[265,400],[266,10],[267,50],[268,9],[269,200],[270,40][271,700],[272,188],[273,73]]
}
...