我将脚本放在一个文件中,并通过load()
函数从该文件中提取数据。但是脚本确实被加载了。
$( ".panel-default" ).html("<img class='loader' src='../catalog/kuko/loading.gif' />").load( "../catalog/kuko/embed.php .affil_wrap", function(){
charting(); <- this doesn't get loaded
} );
这是外部文件中的脚本,我从中获取它:
// pie chart
function charting(){
var pieData = [
<?php
while ($row2 = mysqli_fetch_array($sqli2)) {
echo '{
value: '.$row2["total_clicks"].',
color: "#'.random_color().'",
highlight: "#333",
label: "' .$row2["name"].'"
},';
}
?>
];
var ctx = document.getElementById("chart-area").getContext("2d");
window.myPie = new Chart(ctx).Pie(pieData);
// line chart
var lineChartData = {
labels : [<?php echo implode(',',array_keys($res_array)) ?>],
datasets : [
{
label: "Audience Overview",
fillColor : "#e6f4fa",
strokeColor : "#058dc7",
pointColor : "rgba(151,187,205,1)",
pointStrokeColor : "#fff",
pointHighlightFill : "#fff",
pointHighlightStroke : "rgba(151,187,205,1)",
data : [<?php echo implode(',', array_values($res_array)); ?>]
}
]
}
var ctx = document.getElementById("canvas").getContext("2d");
window.myLine = new Chart(ctx).Line(lineChartData, {
responsive: true
});
}
charting();
答案 0 :(得分:1)
使用getScript()并查看以下代码是否适合您:
var container = $(".panel-default");
$(container).html("<img class='loader' src='../catalog/kuko/loading.gif' />");
$.getScript("../catalog/kuko/embed.php")
.done(function( script, textStatus ) {
charting(); // call the function once the script has been loaded and parsed
})
.fail(function( xhr, settings, exception ) {
console.log(xhr.responseText);
$(container).html("Error while loading.");
});