gpt4 book ai didi

jquery - 使用ajax时出现TypeError : google. load不是一个函数

转载 作者:行者123 更新时间:2023-12-01 03:47:29 25 4
gpt4 key购买 nike

我正在使用 Google 图表 (termcloud) 来显示一些数据。我可以让它作为页面上的静态功能正常工作,但是当我尝试通过 ajax 加载图表及其 Assets 时,它似乎一直抛出错误:

'TypeError: google.load is not a function'

这是我的 ajax 函数:

$("li.contentpanel").click(function() {

$("#content-panel").show();

$('#content-panel').animate({
width: '540'
}, 500, function() {
var dataString = 'alert=1';
$.ajax({
type: "POST",
url: "<?php echo site_url($topicmaplink);?>",
data: dataString,
cache: false,

success: function(html){
$("#content-panel #inner").html(html);
}
});

});

这个页面被称为:

(JSAPI 和 termcloud 插件文件在此页面顶部加载)

$(function() {

google.load("visualization", "1");
google.setOnLoadCallback(draw);
function draw() {
data = new google.visualization.DataTable();
data.addColumn('string', 'Label');
data.addColumn('number', 'Value');
data.addColumn('string', 'Link');
data.addRows(<?php echo sizeof($topics);?>);
<?php
$trans = array("ã" => "a", "³" => "3", "º" => "0", "â" => "a",
"¡" => ";", "'" => "", "\n" => "",'"' => '');
shuffle($topics);
for($j=0;$j<sizeof($topics);$j++){
$nonforeignkeyword = strtr($topics[$j]['keyword'],$trans);
$totalnumber = $topics[$j]['occurrence'];
echo 'data.setValue('.$j.', 0, "'.trim($nonforeignkeyword).'");';
echo 'data.setValue('.$j.', 1, '.$totalnumber.');';
echo 'data.setValue('.$j.', 2, "'.$partlink.'/searchterm||'.trim(rawurlencode($nonforeignkeyword)).'");';
}
?>
var outputDiv = document.getElementById('cp-tmap');
var tc = new TermCloud(outputDiv);
tc.draw(data, null);
}
});

即使我从通过 ajax 调用的页面中删除 JSAPI 和 termcloud js 文件并将它们放在被调用的页面上,该页面似乎也会重定向到 google.com 并卡在空白页面上。

有人知道我哪里出错了吗?

提前感谢您的帮助

最佳答案

为可能遇到同样问题的任何人解决了此问题。删除了 google.load 和 setOnLoadCallback,并在绘制数据表后将它们放置在自己的回调函数中:

<pre>
<code>
//google.load("visualization", "1");
//google.setOnLoadCallback(draw);
function draw() {
data = new google.visualization.DataTable();
data.addColumn('string', 'Label');
data.addColumn('number', 'Value');
data.addColumn('string', 'Link');
data.addRows(<?php echo sizeof($topics);?>);
<?php
$trans = array("ã" => "a", "³" => "3", "º" => "0", "â" => "a", "¡" => ";", "'" => "", "\n" => "",'"' => '');
shuffle($topics);
for($j=0;$j<sizeof($topics);$j++){
$nonforeignkeyword = strtr($topics[$j]['keyword'],$trans);
$totalnumber = $topics[$j]['occurrence'];
echo 'data.setValue('.$j.', 0, "'.trim($nonforeignkeyword).'");';
echo 'data.setValue('.$j.', 1, '.$totalnumber.');';
echo 'data.setValue('.$j.', 2, "'.$partlink.'/authorname||'.trim(rawurlencode($nonforeignkeyword)).'");';
}
?>
var outputDiv = document.getElementById('cp-tmap');
var tc = new TermCloud(outputDiv);
tc.draw(data, null);
}


$(document).ready(function(){
setTimeout(function(){
google.load("visualization", "1",{"callback" : draw});
}, 100);
});
</code>
</pre>

关于jquery - 使用ajax时出现TypeError : google. load不是一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12090197/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com