Javascript 未捕获(承诺中)错误:未定义容器
我在我的代码点火器应用程序中使用了谷歌图表(饼图)。我在我的仪表板视图页面上显示图表,并且得到了正确的结果。但是当我检查其他页面时,我发现了一个错误 未捕获(承诺中)错误:未定义容器 错误:Javascript 未捕获(承诺中)错误:未定义容器,javascript,jquery,ajax,google-visualization,pygooglechart,Javascript,Jquery,Ajax,Google Visualization,Pygooglechart,我在我的代码点火器应用程序中使用了谷歌图表(饼图)。我在我的仪表板视图页面上显示图表,并且得到了正确的结果。但是当我检查其他页面时,我发现了一个错误 未捕获(承诺中)错误:未定义容器 错误: <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script> <script type="text/javascript"> $(documen
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$.ajax({
url: "<?php echo base_url().'Dashboard/chartData'; ?>",
dataType: "JSON",
success:function(result){
google.charts.load('current',{
'packages':['corechart']
});
google.charts.setOnLoadCallback(function(){
drawChart(result);
});
//alert(result);
}
});
function drawChart(result) {
var data = new google.visualization.DataTable();
data.addColumn('string', 'Name');
data.addColumn('number', 'defects');
var dataArray = [];
$.each(result, function(i, obj) {
dataArray.push([obj.name, parseInt(obj.defects)]);
});
data.addRows(dataArray);
var piechart_options = {
title : 'Defects Registered',
width : 500,
height: 300,
is3D: true,
};
var piechart = new google.visualization.PieChart(document.getElementById('piechart_div'));
piechart.draw(data, piechart_options);
}
});
</script>
<div class="box-body">
<table class="columns">
<tr>
<td>
<div class="col-md-6" id="piechart_div"></div>
</td>
<td>
<div class="col-md-6" id="donutchart_div"></div>
</td>
</tr>
</table>
</div>
未捕获(承诺中)错误:未定义容器
在gvjs_3m(jsapi_编译的_默认的_module.js:66)
在gvjs_9K.gvjs_7p[作为建造商]
(jsapi_编译_默认_module.js:232)
在gvjs_9K.gvjs_8K[作为构造函数](jsapi_编译的_ui_module.js:979)
在新的gvjs_9K上(jsapi_编译的ui_module.js:1010)
在绘图图上(陆上加:648)
地址:623
在
我的图表代码:
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$.ajax({
url: "<?php echo base_url().'Dashboard/chartData'; ?>",
dataType: "JSON",
success:function(result){
google.charts.load('current',{
'packages':['corechart']
});
google.charts.setOnLoadCallback(function(){
drawChart(result);
});
//alert(result);
}
});
function drawChart(result) {
var data = new google.visualization.DataTable();
data.addColumn('string', 'Name');
data.addColumn('number', 'defects');
var dataArray = [];
$.each(result, function(i, obj) {
dataArray.push([obj.name, parseInt(obj.defects)]);
});
data.addRows(dataArray);
var piechart_options = {
title : 'Defects Registered',
width : 500,
height: 300,
is3D: true,
};
var piechart = new google.visualization.PieChart(document.getElementById('piechart_div'));
piechart.draw(data, piechart_options);
}
});
</script>
<div class="box-body">
<table class="columns">
<tr>
<td>
<div class="col-md-6" id="piechart_div"></div>
</td>
<td>
<div class="col-md-6" id="donutchart_div"></div>
</td>
</tr>
</table>
</div>
$(文档).ready(函数(){
$.ajax({
url:“”,
数据类型:“JSON”,
成功:功能(结果){
google.charts.load('current'{
“包”:[“核心图表”]
});
google.charts.setOnLoadCallback(函数(){
绘图(结果);
});
//警报(结果);
}
});
功能图(结果){
var data=new google.visualization.DataTable();
data.addColumn('string','Name');
data.addColumn('number','defects');
var dataArray=[];
$。每个(结果、功能(i、obj){
push([obj.name,parseInt(obj.defects)];
});
data.addRows(dataArray);
var PIEU选项={
标题:“已登记缺陷”,
宽度:500,
身高:300,
is3D:是的,
};
var piechart=new google.visualization.piechart(document.getElementById('piechart_div');
绘制(数据、图形和选项);
}
});
HTML代码:
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$.ajax({
url: "<?php echo base_url().'Dashboard/chartData'; ?>",
dataType: "JSON",
success:function(result){
google.charts.load('current',{
'packages':['corechart']
});
google.charts.setOnLoadCallback(function(){
drawChart(result);
});
//alert(result);
}
});
function drawChart(result) {
var data = new google.visualization.DataTable();
data.addColumn('string', 'Name');
data.addColumn('number', 'defects');
var dataArray = [];
$.each(result, function(i, obj) {
dataArray.push([obj.name, parseInt(obj.defects)]);
});
data.addRows(dataArray);
var piechart_options = {
title : 'Defects Registered',
width : 500,
height: 300,
is3D: true,
};
var piechart = new google.visualization.PieChart(document.getElementById('piechart_div'));
piechart.draw(data, piechart_options);
}
});
</script>
<div class="box-body">
<table class="columns">
<tr>
<td>
<div class="col-md-6" id="piechart_div"></div>
</td>
<td>
<div class="col-md-6" id="donutchart_div"></div>
</td>
</tr>
</table>
</div>
我搞不懂为什么我在其他页面上看到了错误,而不是在仪表板上看到了错误
欢迎任何帮助,提前感谢。尽管这可能无法解决您的问题,
实际上,您可以使用
google.charts.load
而不是-->$(document.ready
默认情况下,
google.charts.load
将等待文档准备就绪
推荐一个稍微不同的设置
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load('current', {
packages:['corechart']
}).then(function () {
$.ajax({
url: "<?php echo base_url().'Dashboard/chartData'; ?>",
dataType: "JSON",
success:function(result){
drawChart(result);
}
});
function drawChart(result) {
var data = new google.visualization.DataTable();
data.addColumn('string', 'Name');
data.addColumn('number', 'defects');
var dataArray = [];
$.each(result, function(i, obj) {
dataArray.push([obj.name, parseInt(obj.defects)]);
});
data.addRows(dataArray);
var piechart_options = {
title : 'Defects Registered',
width : 500,
height: 300,
is3D: true,
};
var piechart = new google.visualization.PieChart(document.getElementById('piechart_div'));
piechart.draw(data, piechart_options);
}
});
</script>
在
错误
回调中替换硬编码数据,你发布的代码工作正常 请参阅下面的工作代码段
google.charts.load('current'{
软件包:['corechart']
}).然后(函数(){
$.ajax({
url:“”,
数据类型:“JSON”,
成功:功能(结果){
绘图(结果);
},
错误:函数(){
var结果=[
{name:'defect 1',defect:'1'},
{name:'defect 2',defect:'2'},
{name:'defect 3',defect:'3'},
{name:'defect 4',defect:'4'},
{name:'defect 5',defect:'5'}
];
绘图(结果);
}
});
功能图(结果){
var data=new google.visualization.DataTable();
data.addColumn('string','Name');
data.addColumn('number','defects');
var dataArray=[];
$。每个(结果、功能(i、obj){
push([obj.name,parseInt(obj.defects)];
});
data.addRows(dataArray);
var PIEU选项={
标题:“已登记缺陷”,
宽度:500,
身高:300,
is3D:是的,
};
var piechart=new google.visualization.piechart(document.getElementById('piechart_div');
绘制(数据、图形和选项);
}
});代码>
@WhiteHat是的,我刚刚更新了我的问题,请检查。这段代码应该有效,不确定-->是什么意思,但当我检查我的其他页面时…@WhiteHat我在我的应用程序的仪表板页面上使用谷歌图表,当我在其他页面(例如添加项目页面)时,当我使用谷歌chrome DevTools检查时,它会显示该错误。