2013-10-27 2 views
0

Я пытаюсь создать график пирога с Sparklines, но у меня проблемы. Я не могу понять, что я делаю неправильно, но я чувствую, что это глупая ошибка.

Я использую следующий код для создания спарклайн диаграммы в DIV #traffic_bos_ss:

//Display Visitor Screen Size Stats 
$.getJSON('models/ucp/traffic/traffic_display_bos.php', 
{ 
    type: 'ss', 
    server: server, 
    api: api, 
    ip: ip, 
}, 
function(data) 
{ 
    var values = data.views; 
    //alert(values); 


    $('#traffic_bos_ss').sparkline(values, 
    { 
     type: "pie", 
     height: "100%", 
     tooltipFormat: 'data.screen - {{value}}', 

    }); 
}); 

Строка JSON сгружен:

{"screen":"1220x1080, 1620x1080, 1920x1080","views":"[2, 2, 61]"} 

По какой-то причине Sparklines не делает процесс переменная значения. Когда я предупреждаю переменную, она выводит «[2, 2, 61]». Теперь код JQuery делает работу, когда я заменить фрагмент кода:

var values = data.views; 

с

var values = [2, 2, 61]; 

Что я делаю не так?

ответ

0

Вы говорите, что ваш призыв к getJSON возвращается «мнения», который имеет одну строку в качестве значения:

"[2, 2, 61]" 

Однако, при изменении кода:

var values = [2, 2, 61]; 

В этом Если вы правильно указали массив из трех целых чисел.

Измените свой метод, который возвращает JSON, так что он правильно возвращает и массив целых чисел для «мнения» вместо одной строки т.е.

{"screen" : "1220x1080, 1620x1080, 1920x1080", "views": [2, 2, 61] } 

См jsFiddle here.

Также вы говорите, что ваш вызов $ .getJSON работает, но вызов метода, который вы написали, не является нормальным. См. here для документации jQuery getJSON.

должно работать:

var values; 
$.getJSON("models/ucp/traffic/traffic_display_bos.php", function(data) { 
    values = data.views; 
}); 

$('#traffic_bos_ss').sparkline(values, 
{ 
type: "pie", 
height: "100%", 
tooltipFormat: 'data.screen - {{value}}' 
}); 
+0

Спасибо! Сейчас работает как шарм. Я тоже буду читать документальный фильм;) –

+0

Прохладный. Рад, что я помогу Бобу. –

+0

На самом деле я не могу заставить работать правильно. –

Смежные вопросы