मैं AJAX के माध्यम से jsonData को चार्ट.जेएस ऑब्जेक्ट में लोड करना चाहता हूं।

मेरी समस्या jsondata को चार्ट के लिए स्ट्रिंग के रूप में संदर्भित करके है।js

मुझे लगता है कि AJAX ()। प्रतिक्रिया टेक्स्ट एक स्ट्रिंग पुनर्प्राप्त करता है लेकिन चार्ट। जेएस डेटा एक सरणी की अपेक्षा करता है?

मैं Google चार्ट के साथ भी ऐसा ही कर रहा हूं और यह बहुत अच्छा काम करता है।

यहाँ मेरा कोड है:

<html>
    <head>
    <script type="text/javascript" src="./jquery-3.1.1.min.js"></script>
    <script type="text/javascript" src="./jslib.js"></script>
    <script type="text/javascript" src="./Chart.min.js"></script>
    </head>

    <body>
        <div class="container">
          <h2>Chart Test</h2>
          <div>
            <canvas id="myChart"></canvas>
          </div>
        </div>
         <script type="text/javascript">
            var jsonData = $.ajax({
                type: "POST",
                data: { "ibrconfig_id": 26}, 
                url: "./ibrlib.php",
                dataType:"json",
                async: false
                }).responseText;   
            //document.write(jsonData);//   this returns: { labels: ["1","2"], datasets: [ { label: "Taster", data: [0,0], backgroundColor: "rgba(153,255,51,0.6)" } ] }    
            var ctx = document.getElementById('myChart').getContext('2d');
            var myChart = new Chart(ctx, 
            {
                type: 'bar',
                data: jsonData
            });

            /*
            This works very fine
            var ctx = document.getElementById('myChart').getContext('2d');
            var myChart = new Chart(ctx, 
            {
                type: 'bar',
                data: { labels: ["1","2"], datasets: [ { label: "Taster", data: [0,0], backgroundColor: "rgba(153,255,51,0.6)" } ] }
            }); 
            */      
        </script>
    </body>
</html>   

इससे मैं किस तरह निपट सकता हूं? आपका समय देने के लिए आपका बहुत बहुत धन्यवाद!

3
Julian 3 मार्च 2017, 13:05

2 जवाब

ठीक है मैंने समझ लिया। धन्यवाद andr1o

मेरा जेसनडेटा गलत था।

{ labels: ["1","2"], datasets: [ { label: "Taster", data: [0,0], backgroundColor: "rgba(153,255,51,0.6)" } ] }

नहीं, मैंने इसे बदल दिया है

 { "labels": ["1","2"], "datasets": [ { "label": "Taster", "data": [0,0], "backgroundColor": "rgba(153,255,51,0.6)" } ] }
1
Julian 3 मार्च 2017, 13:45

जेसन स्ट्रिंग से ऑब्जेक्ट बनाने के लिए JSON.parse(jsonData) का प्रयोग करें

0
andr1o 3 मार्च 2017, 13:09
काम नहीं करता ... var objData = JSON.parse(jsonData); टाइप करें: 'बार', डेटा: objData
 – 
Julian
3 मार्च 2017, 13:26
क्या आप objData की सामग्री दिखा सकते हैं? आप उसके लिए console.log(objData) का उपयोग कर सकते हैं, आप वेब इंस्पेक्टर में आउटपुट करेंगे
 – 
andr1o
3 मार्च 2017, 13:35