Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Google图表错误:无法读取属性';长度';未定义的;谷歌图表中的调试错误_Javascript_Google Visualization - Fatal编程技术网

Javascript Google图表错误:无法读取属性';长度';未定义的;谷歌图表中的调试错误

Javascript Google图表错误:无法读取属性';长度';未定义的;谷歌图表中的调试错误,javascript,google-visualization,Javascript,Google Visualization,下面的代码可以作为独立页面正常工作。但如果将其合并到我的PHP web应用程序中,就会抛出错误。如果错误发生在GoogleChartJS中,如何调试? 任何建议都会有帮助 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">

下面的代码可以作为独立页面正常工作。但如果将其合并到我的PHP web应用程序中,就会抛出错误。如果错误发生在GoogleChartJS中,如何调试? 任何建议都会有帮助

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <title>
      Google Visualization API Sample
    </title>
  </head>

  <body style="font-family: Arial;border: 0 none;">
   <div id="myGraphLabel" onclick="drawColumnChart();">
        My Column Chart
    </div>
    <div id="myColumnChart" style="width: 600px; height: 400px;"></div>
  </body>

  <script type="text/javascript" src="http://www.google.com/jsapi"></script>

  <script type="text/javascript">
      google.load('visualization', '1', {packages: ['corechart']});

      function drawColumnChart() {
        // Create and populate the data table.
        var data = new google.visualization.DataTable();
        data.addColumn('string', 'Task');
        data.addColumn('number', 'Hours per Day');
        data.addRows(2);
        data.setValue(0, 0, 'Work');
        data.setValue(0, 1, 11);
        data.setValue(1, 0, 'Eat');
        data.setValue(1, 1, 2);

        // Create and draw the visualization.
        new google.visualization.PieChart(document.getElementById('myColumnChart')).
            draw(data, {title:"So, how was your day?"});
      }   
    </script>
</html>

谷歌可视化API示例
我的柱状图
load('visualization','1',{packages:['corechart']});
函数drawColumnChart(){
//创建并填充数据表。
var data=new google.visualization.DataTable();
data.addColumn('string','Task');
data.addColumn('数字','每天小时');
数据。添加行(2);
data.setValue(0,0,'工作');
数据设置值(0,1,11);
data.setValue(1,0,'Eat');
数据设置值(1,1,2);
//创建并绘制可视化。
新的google.visualization.PieChart(document.getElementById('myColumnChart'))。
绘制(数据,{标题:“你今天过得怎么样?”});
}   
Chrome中的错误:它显示“无法读取未定义的属性'length',容器中有红色背景

Firefox中的错误:在Firebug控制台中抛出以下错误: b[c]是未定义的
第785行

在我的web应用程序中,我包含了“prototype-1.6.0.2.js”,这导致了这个错误!
如果我排除'prototype-1.6.0.2.js',一切都很好

如果您使用的是Prototype JS框架,那么这个答案将适用。(我在这里看不到,但它可能被排除在外)

谷歌可视化API上有一张关于这个问题的公开票

一个潜在的问题是原型或其他库的版本可能存在冲突

或者,可能需要重新定义reduce函数:

<script type="text/javascript">
  Array.prototype.reduce = undefined;
</script>

Array.prototype.reduce=未定义;

[注意:我以前遇到过这个问题,这导致了解决方案。我第二次遇到这个问题,但原始解决方案不适用于这个新问题。您的里程可能会有所不同。]

我遇到过类似的问题,谷歌图表工具和原型库发生冲突。我将Prototype从1.6.1版升级到1.7.1版,问题就解决了。

您提供的代码运行良好-您所说的合并到PHP是什么意思?我的意思是在.ctp文件中。很抱歉,不够清晰。我确实发现,由于包含prototype-1.6.0.2.js,它无法工作。:)2011年Google Visualization API与原型JS框架(或其他类似系统)结合使用时可能遇到的问题现在可能有所不同。在任何情况下,强制Array.prototype.reduce未定义的解决方法都会导致问题,事实上,您的代码现在很可能会失败。突然,我遇到了这个错误。这是去年的工作。我试过这个,但不管用。