未捕获的TypeError:无法读取未定义的属性'toArrays'

问题描述 投票:1回答:3

我正在尝试使用gae-init框架来使用此代码,该框架使用了flask和google app引擎。

如果我单独运行它,代码工作正常,从这一个文件全部运行:

<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>

但是当我将它包含在我的项目中时,无论我尝试什么,我都会得到“Uncaught TypeError:无法读取属性'toArrays'的undefined”.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
javascript jquery google-app-engine flask jquery-csv
3个回答
1
投票

我最终不得不将qazxsw poi移到qazxsw poi之间的底部

不是100%肯定为什么,但我猜测与订单的东西正在加载我正在使用的框架。

<script type="text/javascript" src="{{ url_for('static', filename='new_static/jquery.csv-0.71.js') }}"></script>

0
投票

检查你的代码 - # block scripts # endblock# 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 不同


0
投票

我有一个类似的情况,我通过以下方式解决它,从函数中删除变量csv并使用“var ax = $ .csv;”。为我工作。我认为在函数内部没有创建对象。

$csv
© www.soinside.com 2019 - 2024. All rights reserved.