Javascript-форум (https://javascript.ru/forum/)
-   Библиотеки/Тулкиты/Фреймворки (https://javascript.ru/forum/library-toolkit-framework/)
-   -   Chartist.js Не могу создать объект (https://javascript.ru/forum/library-toolkit-framework/53243-chartist-js-ne-mogu-sozdat-obekt.html)

gJam 26.01.2015 17:02

Chartist.js Не могу создать объект
 
Форумчане, здорова! :victory:

Нашел необходимый функционал в довольно интересной библиотеке для графиков – http://gionkunz.github.io/chartist-js/examples.html, но не могу передать туда параметры для отображения

Например, есть код
new Chartist.Line('.ct-chart', {
  labels: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'],
  series: [
    [12, 9, 7, 8, 5],
    [2, 1, 3.5, 7, 3],
    [1, 3, 4, 5, 6]
  ]
});
//из примера

У меня задача, получить параметры с сервера в ответе ajax'а и подставить в результат – создать график

Делаю так:
posting.done(function( data ) {
 		k=data.split("@");
		z = new Object();
		z.labels =  k[0].split(",");
		z.series = k[1].split(",");
 		new Chartist.Line('.ct-chart', z);
});


Пых возвращает такую строку
a,b,c,d,e,f,g,h,j@91,91,96,95,71,100,93,81,93


В консоль выпадает
Код:

TypeError: Attempted to assign to readonly property.
Чем лечить? Что делаю не так?

P.s. Пробовал еще eval'ом и разными способами создания объектов (со stackoverflow)
Пробовал совать в JSON, тоже нет результата

рони 26.01.2015 18:33

Цитата:

Сообщение от gJam
Пых возвращает такую строку

а нормальный JSON никак?

рони 26.01.2015 18:45

gJam,
5 строка
z.series = [k[1].split(",")];


и про var не забывайте строки 2 и 3 на всякий случай

gJam 26.01.2015 18:50

Цитата:

Сообщение от рони (Сообщение 353574)
а нормальный JSON никак?

ак передается то не json в параметр

Цитата:

Сообщение от рони (Сообщение 353579)
gJam,
5 строка
z.series = [k[1].split(",")];


и про var не забывайте строки 2 и 3 на всякий случай

пофиксил,
Код:

TypeError: null is not an object (evaluating 'a.querySelectorAll')

рони 26.01.2015 19:23

gJam,
смотрите что у вас не так ... или сделайте свой макет
<!DOCTYPE HTML>
<html>
<head>
  <meta charset="utf-8">
  <title></title>
  <style type="text/css">
  div {
    width: 33%;
    height: 80%;
  }
  </style>
 <link rel="stylesheet" type="text/css" href="http://gionkunz.github.io/chartist-js/styles/main.css">
 <script src="http://gionkunz.github.io/chartist-js/scripts/all.js"></script>
 <script type="text/javascript">
 function plotGraph() {
     var data = "a,b,c,d,e,f,g,h,j@91,91,96,95,71,100,93,81,93",
     z = new Object();
        data = data.split("@");
		z.labels =  data[0].split(",");
		z.series = [data[1].split(",")];
     new Chartist.Line('.ct-chart', z)
 }
  </script>

</head>
<body>
  <input type="button" value="ok" onclick="plotGraph();"/>
  <div class="ct-chart"></div>
</body>
</html>

gJam 26.01.2015 21:08

Спасибо, буду искать ошибки

UPD:рони, если руками вставляю (как ты сделал) – все ок, если передаю в функцию строку –
Код:

TypeError: null is not an object (evaluating 'a.querySelectorAll')

gJam 26.01.2015 22:14

Может быть это из-за
posting.done(function( data ) {
//тут код
});


потому что передача параметров из обычной функции ошибок не вызывает
даже поместив создание схемы и обработку входных данных туда (в точку возврата данных с сервера) – та же самая ошибка

рони 26.01.2015 22:36

gJam,
в data у вас что приходит ?
posting - кот в мешке?

gJam 26.01.2015 23:24

Не очень понял ваши сравнения

data - переменная с ответом с сервера (та строка разделенная @)

function foo() {
	var posting = $.post( "/url", { name: param } );
	posting.done(function( data ) {
		z = new Object();
		        data = data.split("@");
				z.labels =  data[0].split(",");
				z.series = [data[1].split(",")];
		     new Chartist.Line('.ct-chart', z)
	});	
}

рони 26.01.2015 23:56

gJam,
в каком месте у вас ошибки ? что консоль то пишет


Часовой пояс GMT +3, время: 07:00.