Ajax Json и график
Страницы: 1
Ajax Json и график, Помощь
Вопрос такой, есть ajax запрос который отправляет при клике на ссылку переменную id в файл обработчик, файл обработчик получает это всё и формирует нужный мне массив (с этим проблем нет массив получается и отправляется обратно). Вот сам код 
Код
function go_stata(id) { 
$.post('/stata', {'func' : 'go_stata', 'id' : id}, 
function(data, requestStatus) { 
if ( data['status'] != '0' ) {$.each(data['stata'], function(index, msg_array) { 
var chart; 
var chartData_id = 
 [{ 
"country": "Пн","visits": msg_array['pn'] 
},{ 
"country": "Вт","visits": msg_array['vt'] 
},{ 
"country": "Ср","visits": msg_array['sr'] 
},{ 
"country": "Чт","visits": msg_array['ch'] 
},{ 
"country": "Пт","visits": msg_array['pt'] 
},{ 
"country": "Сб","visits": msg_array['sb'] 
},{ 
"country": "Вс","visits": msg_array['vs'] 
}, 
]; 
AmCharts.ready(function () { 
// SERIAL CHART 
chart = new AmCharts.AmSerialChart(); 
chart.dataProvider = chartData_id; 
chart.categoryField = "country"; 
chart.startDuration = 1; 
 
categoryvar categoryAxis = chart.categoryAxis; 
categoryAxis.labelRotation = 90; 
categoryAxis.gridPosition = "start"; 

var graph = new AmCharts.AmGraph(); 
graph.valueField = "visits"; 
graph.balloonText = "[[category]]: <b>[[value]]</b>; 
graph.type = "column"; 
graph.lineAlpha = 0; 
graph.fillAlphas = 0.8; 
chart.addGraph(graph); 
 
var chartCursor = new AmCharts.ChartCursor(); 
chartCursor.cursorAlpha = 0; 
chartCursor.zoomable = false; 
chartCursor.categoryBalloonEnabled = false; 
chart.addChartCursor(chartCursor); 
chart.creditsPosition = "top-right"; 
chart.write('chartdiv_'+id+''}); 
$('#stata').prepend('<div id="chartdiv_' + id + '" style="min-width: 200px; height: 250px; max-width: 100%; margin: 0 auto"></div>'); 
}); 
} 
}, "json");}

Затем я получаю мой массив и разбиваю его. потом вставляю данные в график и по сути должен при клике открыться
Код
<div id="chartdiv_' + id + '" style="min-width: 200px; height: 250px; max-width: 100%; margin: 0 auto"></div>
, он и открывается, но график в нём не отображается.=( Возможно это не правильное решение моей задачи.
Поясню задачу, нужно для каждого элемента вывести свой график, можно конечно сделать без подгрузки из стороннего файла, но если элементов много то страница значительно нагрузиться от большого кол-ва ajax кода.

Так же можете посоветовать как можно реализовать всплывающее окно, но что бы оно брало информацию из другого файла. Принцип:
Человек нажал на ссылку -> ссылка передала id в другой файл -> файл обрабатывает полученный id и возвращает уже готовый html код обратно во всплывающее окно.
Изменено: Олег Былинкин - 15 Декабря 2016 14:02
Скачайте самые новые фильмы торент
передай через data при клике. И получи ajax ответ
Код
$('#click').click(function(){
var some = $(this).data("id");
$.ajax({
  type: "POST",
  url: "some.php",
  data: "name="+some,
  success: function(html){
     $("#results").append(html);
  }
  });
});
 
Через data не прошло, сделал немного по другомувот код скрипта:

Код
function go_stata(id) {
$.ajax({
type: "POST",
url: "/stata",
dataType: "json",
data: {'func' : 'go_stata', 'id' : id},
beforeSend: function(){ progress = true;},
success: function(json){
$("#dd").html(json);
}
});
}



Вот код обработчика:

Код
if($_POST['func'] == "go_stata") {
$id = intval($_POST["id"]);
$sql = mysql_query("SELECT * FROM `nano_rek_dinamika` WHERE `id_user`='$id_login' AND `id`='$id'") or die(mysql_error());
while ($row = mysql_fetch_array($sql)){
$pn = $row["pn"];
$vt = $row["vt"];
$sr = $row["sr"];
$ch = $row["ch"];
$pt = $row["pt"];
$sb = $row["sb"];
$vs = $row["vs"];

$shablon = '
<div id="chartdiv_'.$id.'" style="min-width: 200px; height: 250px; max-width: 100%; margin: 0 auto"></div>
<script>
var chart;
var chartData_'.$id.' = [
{
"country": "Пн",
"visits": '.$pn.'},
{
"country": "Вт",
"visits": '.$vt.'},
{
"country": "Ср",
"visits": '.$sr.'},
{
"country": "Чт",
"visits": '.$ch.'},
{
"country": "Пт",
"visits": '.$pt.'},
{
"country": "Сб",
"visits": '.$sb.'},
{
"country": "Вс",
"visits": '.$vs.'},

];


AmCharts.ready(function () {
// SERIAL CHART
chart = new AmCharts.AmSerialChart();
chart.dataProvider = chartData_'.$id.';
chart.categoryField = "country";
chart.startDuration = 1;

// AXES
// category
var categoryAxis = chart.categoryAxis;
categoryAxis.labelRotation = 90;
categoryAxis.gridPosition = "start";

var graph = new AmCharts.AmGraph();
graph.valueField = "visits";
graph.balloonText = "[[category]]: <b>[[value]]</b>";
graph.type = "column";
graph.lineAlpha = 0;
graph.fillAlphas = 0.8;
chart.addGraph(graph);

// CURSOR
var chartCursor = new AmCharts.ChartCursor();
chartCursor.cursorAlpha = 0;
chartCursor.zoomable = false;
chartCursor.categoryBalloonEnabled = false;
chart.addChartCursor(chartCursor);

chart.creditsPosition = "top-right";

chart.write("chartdiv_'.$id.'");
});
</script>
';
echo json_encode($shablon);
}
}
 


После обработки получаю вот что:

Код
<div id="chartdiv_1" style="min-width: 200px; height: 250px; max-width: 100%; margin: 0 auto"></div>
var chart;
var chartData_1 = [
{
"country": "Пн",
"visits": 0},
{
"country": "Вт",
"visits": 0},
{
"country": "Ср",
"visits": 2},
{
"country": "Чт",
"visits": 0},
{
"country": "Пт",
"visits": 0},
{
"country": "Сб",
"visits": 0},
{
"country": "Вс",
"visits": 0},

];


AmCharts.ready(function () {
// SERIAL CHART
chart = new AmCharts.AmSerialChart();
chart.dataProvider = chartData_1;
chart.categoryField = "country";
chart.startDuration = 1;

// AXES
// category
var categoryAxis = chart.categoryAxis;
categoryAxis.labelRotation = 90;
categoryAxis.gridPosition = "start";

var graph = new AmCharts.AmGraph();
graph.valueField = "visits";
graph.balloonText = "[[category]]: <b>[[value]]</b>";
graph.type = "column";
graph.lineAlpha = 0;
graph.fillAlphas = 0.8;
chart.addGraph(graph);

// CURSOR
var chartCursor = new AmCharts.ChartCursor();
chartCursor.cursorAlpha = 0;
chartCursor.zoomable = false;
chartCursor.categoryBalloonEnabled = false;
chart.addChartCursor(chartCursor);

chart.creditsPosition = "top-right";

chart.write("chartdiv_1");
});
 
Но график так и не отображается, не могу понять в чём проблема!( Пробовал и js скрипты дублировать в сам шаблон, не помогло.
Страницы: 1
Похожие темы:
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)
Новые темыОбъявленияСвободное общение
13:53 AviTool - мощный инструмент для автоматизации работы с Avito 
17:01 Absence в Армении 
23:19 Ребята подскажите какими сервисами и прогами вы пользуетесь для SEO продвижения? 
19:30 Индексация страниц 
20:28 Dao.AD: Монетизация и покупка Push/Pops/Inpage и Video трафика! 
14:50 Какую выбрать тему/нишу для сайта? 
18:32 Gambling Craft - гемблинг по белому 
15:37 Продам обменник криптовалюты, а также новый обменник под ключ с обучением. Скидки на скрипты обменника 
15:03 PonyBit.ru - обменный пункт PonyBit.ru (Понибит.ру) 
13:25 Sova.gg - надежный обменник криптовалюты. 
13:14 GoodsMoney.io 
20:37 BestX24 - быстрый и безопасный обменник криптовалют и электронных денежных средств 
09:45 Резидентные Прокси Ротационные BACKCONNECT США Европа Микс 
19:49 Комплексный прогон по трастовым сайтам, статейное размещение. Рост НЧ-СЧ, Тиц-пр. 
10:59 Ням-ням! - 8 деликатесов, которые когда-то ели только бедные люди 
20:17 Точные прогнозы на футбол 
12:23 150+ хакерских поисковых систем и инструментов 
08:38 Накрутка поисковых подсказок 
17:41 Стряхнуть обыденность - об Агасфере 
10:54 Добро пожаловать в цифровой мир... 
22:39 Топ-5 способов использовать мобильные прокси для бизнеса: подробный обзор