简体   繁体   English

带有jquery的clonig Google饼图触发XMLHttpRequest错误

[英]clonig google pie chart with jquery triggers XMLHttpRequest error

I have a google pie chart which displays correctly on my page. 我有一个Google饼图,该饼图正确显示在我的页面上。 Now I want to clone that chart in another div of my website. 现在,我想将该图表克隆到我网站的另一个div中。 It's unfornuately throwing a XMLHttpRequest error : 不幸地抛出XMLHttpRequest错误:

XMLHttpRequest cannot load https://www.google.com/uds/api/visualization/1.0/dca88b1ff7033fac80178eb526cb263e/ui+en.css . XMLHttpRequest无法加载https://www.google.com/uds/api/visualization/1.0/dca88b1ff7033fac80178eb526cb263e/ui+en.css No 'Access-Control-Allow-Origin' header is present on the requested resource. 所请求的资源上没有“ Access-Control-Allow-Origin”标头。 Origin ' http://foodmeup.dev ' is therefore not allowed access. 因此,不允许访问源“ http://foodmeup.dev ”。

How can I overcomethis ? 我该如何克服呢?

My view : 我的观点 :

    <div id="piechart" style="height: 220px;"></div>
    <div id="profile_completion_graph" class="responsive">
//the div in which I want to clone the graph
    </div>

<script type="text/javascript">
        function drawChart() {
            var data = google.visualization.arrayToDataTable([
                ['Nom',    'Valeur'],
                ["Profil rempli à ", {{ completeness }}],
                ['Manque', {{ 100 - completeness }}]
            ]);

            var options = {
                backgroundColor: { fill:'transparent'},
                pieSliceBorderColor : 'transparent',
                pieHole: 0.8,
                legend: {position: 'top'},
                width: 220,
                height: 220,
                tooltip: {trigger: 'none'},
                pieStartAngle: -90,
                pieSliceTextStyle :{fontsize : 16, color: 'transparent'},
                slices: {
                    0: { color: '#09b4ff'},
                    1: { color: '#444'}
                },
                chartArea : {width: '90%', height: '90%'}
            };

            var chart = new google.visualization.PieChart(document.getElementById('piechart'));

            chart.draw(data, options);
        }

        google.load('visualization', '1', {callback : function(){drawChart();}, 'packages':['corechart']})


</script>

<script>
    $(function(){
        var $graphs = $('#chart_picture').clone();
        $('#profile_completion_graph').eq(0).html($graphs);
    });
</script>

Change drawChart function to accept DOM element as an argument 更改drawChart函数以接受DOM元素作为参数

function drawChart(elem){
   ....
    var chart = new google.visualization.PieChart(elem);

}

Then call it two times. 然后调用两次。

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

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