загрузка Chart.js на страницу php через вызов ajax не работает

У меня есть простой вызов ajax, который загружает страницу php. Я использую chart.js для построения гистограммы на основе динамических данных MySQL.

Если я просматриваю эту страницу напрямую, она работает нормально. Однако, если я использую следующий код для загрузки страницы, данные на странице загружаются, а диаграмма — нет.

Скрипт, который я использую для вызова страницы ajaxtest.php, находится на странице index.php:

    <script>
function getProduct(str) {
if (str == "") {
document.getElementById("txtHint").innerHTML = "";
return;
} else {
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("loader").innerHTML = ''; // Hide the image after the response from the server
document.getElementById("txtHint").innerHTML = this.responseText;

}
};
document.getElementById("loader").innerHTML = '<img src="imgs/loader.gif" />'; // Set here the image before sending request
xmlhttp.open("GET","ajaxTest.php?prod="+str,true);
xmlhttp.send();

}
}
</script>

В этом файле у меня есть bootstrap.css, загруженный в раздел head. Внизу страницы я загружаю файлы jquery.js, bootstrap.js и некоторые файлы customizations.js (в таком порядке). Если я удаляю их со страницы index.php, это не имеет значения, и диаграмма все равно не загружается.

На странице ajaxtest.php он также вызывает те же файлы в тех же местах.

Я думал, что это может быть моей проблемой, поэтому, когда я удалил их со своей страницы index.php, он все равно не загружается.

Я озадачен тем, почему он не загружается при вызове через ajax, но делает, когда я нажимаю на него напрямую. Я не вижу никаких ошибок в инструментах Firebug / Developer.

Любые мысли будут оценены.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]