2015-08-05 2 views
1

Я пытаюсь заставить этот код работать, используя фреймворк gae-init, который использует флешку и движок Google.Uncaught TypeError: Не удается прочитать свойство 'toArrays' undefined

код работает отлично, если я запускаю его все в одиночку, все это из этого одного файла:

<head> 
    <title>Google Chart Example</title> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
    <script src="http://prithwis.x10.bz/charts/jquery.csv-0.71.js"></script> 
    <script src="https://www.google.com/jsapi"></script> 
    <script type='text/javascript'> 

    // load the visualization library from Google and set a listener 
    google.load("visualization", "1", {packages:["corechart"]}); 
    google.setOnLoadCallback(drawChartfromCSV); 

    function drawChartfromCSV(){ 
    // grab the CSV 
     $.get("https://www.quandl.com/api/v3/datasets/WIKI/AAPL/data.csv?start_date=2015-01-01&order=asc&end_date=2015-04-01&collapse=daily", function(csvString) { 

     // transform the CSV string into a 2-dimensional array 
      var arrayData = $.csv.toArrays(csvString, {onParseValue: $.csv.hooks.castToScalar}); 

     // this new DataTable object holds all the data 
      var data = new google.visualization.arrayToDataTable(arrayData); 

     // this view can select a subset of the data at a time 
      var view = new google.visualization.DataView(data); 
      view.setColumns([0,3,1,4,2]); 

      var options = { 
       legend: 'none', 

       candlestick: { 
       fallingColor: { strokeWidth: 0, fill: '#a52714' }, // red 
       risingColor: { strokeWidth: 0, fill: '#0f9d58' } // green 
       }, 

       colors: ['black'], 

       height: 700, 

      }; 

      var chart = new google.visualization.CandlestickChart(document.getElementById('csv2chart')); 

      chart.draw(view, options); 
     }); 
    } 
    </script> 

</head> 

<body> 
    <div id="csv2chart"></div> 
</body> 

Но когда я включаю его в моем проекте, я получаю «неперехваченный TypeError: Не могу читать свойство «toArrays» неопределенного «независимо от того, что я пытаюсь». Ссылки src верны. Я убедился.

# extends 'admin/admin_base.html' 

# block title 
    Google Chart Example 
# endblock 

# block head 
    {{super()}} 
    <script src="{{ url_for('static', filename='ext/jquery/dist/jquery.js') }}"></script> 
    <script src="{{ url_for('static', filename='new_static/jquery.csv-0.71.js') }}"></script> 
    <script src="https://www.google.com/jsapi"></script> 
    <script 'type=text/javascript'> 


    // load the visualization library from Google and set a listener 
    google.load("visualization", "1", {packages:["corechart"]}); 
    google.setOnLoadCallback(drawChartfromCSV); 

    function drawChartfromCSV(){ 
    // grab the CSV 

      $.get("https://www.quandl.com/api/v3/datasets/WIKI/AAPL/data.csv?start_date=2015-01-01&order=asc&end_date=2015-04-01&collapse=daily", function(csvString) { 

     // transform the CSV string into a 2-dimensional array 
      var arrayData = $.csv.toArrays(csvString, {onParseValue: $.csv.hooks.castToScalar}); 

     // this new DataTable object holds all the data 
      var data = new google.visualization.arrayToDataTable(arrayData); 

     // this view can select a subset of the data at a time 
      var view = new google.visualization.DataView(data); 
      view.setColumns([0,3,1,4,2]); 

      var options = { 
       legend: 'none', 

       candlestick: { 
       fallingColor: { strokeWidth: 0, fill: '#a52714' }, // red 
       risingColor: { strokeWidth: 0, fill: '#0f9d58' } // green 
       }, 

       colors: ['black'], 

       height: 700, 

      }; 

      var chart = new google.visualization.CandlestickChart(document.getElementById('csv2chart')); 

      chart.draw(view, options); 
     }); 
    } 
    </script> 
# endblock 

# block admin_content 

    <div id="csv2chart"></div> 

# endblock 

ответ

0

проверить код - $csv не то же самое, как $.csv

+0

Только что поймал это сам и обновил вопрос. Спасибо хоть! Что теперь? – user3687715

1

Я закончил тем, что двигаться <script type="text/javascript" src="{{ url_for('static', filename='new_static/jquery.csv-0.71.js') }}"></script> вниз к основанию между ними # block scripts # endblock

Не 100% уверен, почему, но я предполагаю, что-то связано с тем, что вещи загружаются с помощью используемой структуры.

# extends 'admin/admin_base.html' 

     # block title 
      Google Chart Example 
     # endblock 

     # block head 
      {{super()}} 
      <script src="{{ url_for('static', filename='ext/jquery/dist/jquery.js') }}"></script> 
      <script src="https://www.google.com/jsapi"></script> 
      <script 'type=text/javascript'> 


      // load the visualization library from Google and set a listener 
      google.load("visualization", "1", {packages:["corechart"]}); 
      google.setOnLoadCallback(drawChartfromCSV); 

      function drawChartfromCSV(){ 
      // grab the CSV 

        $.get("https://www.quandl.com/api/v3/datasets/WIKI/AAPL/data.csv?start_date=2015-01-01&order=asc&end_date=2015-04-01&collapse=daily", function(csvString) { 

       // transform the CSV string into a 2-dimensional array 
        var arrayData = $.csv.toArrays(csvString, {onParseValue: $.csv.hooks.castToScalar}); 

       // this new DataTable object holds all the data 
        var data = new google.visualization.arrayToDataTable(arrayData); 

       // this view can select a subset of the data at a time 
        var view = new google.visualization.DataView(data); 
        view.setColumns([0,3,1,4,2]); 

        var options = { 
         legend: 'none', 

         candlestick: { 
         fallingColor: { strokeWidth: 0, fill: '#a52714' }, // red 
         risingColor: { strokeWidth: 0, fill: '#0f9d58' } // green 
         }, 

         colors: ['black'], 

         height: 700, 

        }; 

        var chart = new google.visualization.CandlestickChart(document.getElementById('csv2chart')); 

        chart.draw(view, options); 
       }); 
      } 
      </script> 
     # endblock 

     # block admin_content 

      <div id="csv2chart"></div> 

     # endblock 

    # block scripts 
     <script type="text/javascript" src="{{ url_for('static', filename='new_static/jquery.csv-0.71.js') }}"></script> 
    # endblock 
Смежные вопросы