Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 1
Регистрация: 29.01.2015
Сообщений: 2

Подгрузка графиков jqplot в div на ajax. Не рисует график

29.01.2015, 23:45. Показов 1245. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет!

У меня тут проблема, которая скорее всего уже решалась, но она решалась на уровне jQuery, а у меня немного другой уровень абстракции. История такая:

Есть index.php и есть graphics/calls.php

На первой страничке есть div, в который я подгружаю содержимое graphics/calls.php так:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
var xhrCalls = new XMLHttpRequest();                        // Создаем запрос графика по звонкам
        xhrCalls.open('POST', '/a/graphics/calls.php', true);
        xhrCalls.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        xhrCalls.onreadystatechange = function() {              // Когда пришел ответ
            if (xhrCalls.readyState != 4) return;
            if (xhrCalls.status==200) {                                             // Поднимаем флаг: графики загружены
                graphicStatus=1;    
                calls.innerHTML = xhrCalls.responseText;        // Отправляем страничку в div
            } 
        }               
        xhrCalls.send(post);                                                    // Отправляем запрос
На второй страничке располагается запрос данных ip-телефонии и вывод данных в красивый график с помощью библиотеки jqplot, к слову само по себе на отдельной странице без подгрузок все проверено и работает (если заходить прямо на graphics/calls.php

А вот при подгрузке в div ничего не отображается! Почему никак понять не могу. Просканил с помощью средств разработчика - содержимое div верное, все помимо графика отображается, не рисуется только график, следовательно проблема точно в jQuery!

У меня была уже подобная проблема с виджетом от Гисметео, ее я тогда так и не решил, в итоге просто отказался от этого виджета.

Никто не сталкивался? Это вообще излечимо?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.01.2015, 23:45
Ответы с готовыми решениями:

Программа не рисует 5 графиков
Программа не рисует 5 графиков, что делать, нужна срочно эта программа. Ниже ее код using System; using System.Numerics; using...

Сдвигается верстка при добавлении DIV с Ajax-контентом (теряется связь между DIV)
Заказал я в общем дизайн и верстку на фрилансе, начал писать код и столкнулся с проблемкой: В цикле JS подгружается динамически контент....

Подгрузка страницы в div
В общем задали домашнее задание. Есть макет страницы: шапка, блок слева(навигация), блок контента и подвал. В навигации две ссылки, нужно...

2
433 / 352 / 259
Регистрация: 29.11.2011
Сообщений: 628
29.01.2015, 23:57
Может на странице graphics/calls.php есть javascript который строит этот график?
Тогда этот скрипт также предварительное должен подключается и на index.php
1
0 / 0 / 1
Регистрация: 29.01.2015
Сообщений: 2
30.01.2015, 14:47  [ТС]
Все скрипты, которые смог найти перенес в index, не помогает

Добавлено через 20 минут
Прошу прощения. Основной то скрипт... Выглядит так:

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<script class="code" type="text/javascript" language="javascript"> 
    <?php
        foreach($managers as $k => $manager) { // Создаем по массиву данных на каждого менеджера
            echo("var manager$k=["); // Создаем массив данных для текущего менеджера
            echo($manager['calls']);
            echo("];");
        }
        echo ("var complex=[");  // Отправляем все в один массив
        foreach($managers as $k => $manager) {
            if ((int)$manager['phone_code']>100) {  
                echo ("manager$k,");
            }
        }
        echo ("];");
        
        foreach($managers as $k => $manager) {
            if ((int)$manager['phone_code']>100) {  
                $names=$names."{label: '".$manager['name']."'},";
            }
        }
    ?>          
    $(document).ready(function(){
        var plot1 = $.jqplot('chart1', complex, {
            title:'Звонки за последние 30 дней',
            legend: {
                renderer: $.jqplot.EnhancedLegendRenderer,
                show: true,
                placement: 'outsideGrid',
                location: 's',
                rendererOptions: {numberColumns: 6, numberRows: 0}
            },
            axes:{
                xaxis:{
                    renderer:$.jqplot.DateAxisRenderer,
                    tickOptions:{formatString:'%d.%m'},
                    tickInterval:'1 day'
                },
                yaxis:{
                    pad: 0.4,
                }
            },
            seriesDefaults: {
                rendererOptions: {
                    smooth: true,
                },
                showMarker: true,
            },
            series:[
                <?php
                    echo($names);
                ?>
            ]
        });     
    });
</script>
Я там для него на php подготавливаю данные. Как это дело заставить вообще работать?

Добавлено через 13 часов 49 минут
Так, понял как подгружать скрипты и запускать их. Функция alert с подгружаемой страницы работает! А вот гребаный jQuery опять ничего не делает. Читал что-то про функции live() и on(), но что-то ума не приложу как и зачем вообще ими пользоваться.

Запускаю теперь все функции вот так:
JavaScript
1
2
3
4
var arr = calls.getElementsByTagName('script');
        for (n=0; n<arr.length; n++) {
            eval(arr[n].innerHTML); //run script inside div
        }
Может теперь у меня больше шансов как-то решить эту проблему с рисование графика?

Добавлено через 23 минуты
Цитата Сообщение от LASSO Посмотреть сообщение
Может на странице graphics/calls.php есть javascript который строит этот график?
Тогда этот скрипт также предварительное должен подключается и на index.php
Этот график строит jQuery библиотека, которая никак не хочет запускаться. Обычный алерт на JS с той страницы я уже смог запустить и работает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.01.2015, 14:47
Помогаю со студенческими работами здесь

Подгрузка контента в div
Привет. В общем есть функция которая забирает контент с сайта (парсер). Построена на использовании curl. Функция возвращает контент и...

Подгрузка контента в div
уважаемые форумчане, просьба помочь реализовать подгрузку в div контента с другой страницы сайта, чтоб подгружалась автоматом без...

подгрузка вебстраниц в div
здравствуйте,подскажите как сделать чтобы при выборе пункта меню &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Меню 1&lt;/a&gt;&lt;/li&gt; информация подгружалась из...

Ajax подгрузка
В общем, имеется 2 картинки(на самом деле их 100, главные) и есть &quot;подкартинки&quot;(по пять-шесть на каждую картинку). Главные картинки не...

Ajax запрос в div с уже 'прилетевшим' ajax'om
Добрый день, ребят... Не нашёл отдельного раздела по ajax, а разобраться очч надо, т.к.в JS полный профан. Никак не могу разобраться уже...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Киев стоит - украинская песня
zorxor 28.01.2026
wfWdiRqdTxc О Господи, Вечный, Ты . . . Я помоги, Бесконечный. . . Я прошу Ты. . . Я погибаю, спаси. . . Я прошу Тебя Вечный. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru