简体   繁体   English

jQuery从外部文件加载功能

[英]jQuery load function from external file

I have script place in one file and pulling the data from that file via load() function. 我将脚本放置在一个文件中,并通过load()函数从该文件中提取数据。 But the script does get loaded. 但是脚本确实被加载了。

$( ".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      
} );

this is the script in external file where I'm getting it from: 这是外部文件中的脚本,我从这里获取它:

// 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();

Use getScript() and see if the following code works for you: 使用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.");
    });

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM