有一个我无法解决的问题,我一直在互联网上浏览很多东西,但一无所获。
我有这个JavaScript,用于通过PHP进行Ajax请求。请求完成后,它将调用一个函数,该函数使用Google Visualization
API绘制带注释的时间轴以呈现数据。
该脚本在没有AJAX的情况下也能很好地工作,如果我内联完成所有工作,那么它会很好,但是当我尝试在AJAX中进行操作时,它就无法工作!!!
我得到的错误是在“数据” DataTable的声明中,在Google Chrome开发者工具中我得到了Uncaught TypeError: Cannot read property 'DataTable' of undefined
。
当脚本出错时,页面上的所有内容均被清除,仅显示空白页面。
所以我不知道如何使它工作。
$(document).ready(function(){
// Get TIER1Tickets
$("#divTendency").addClass("loading");
$.ajax({
type: "POST",
url: "getTIER1Tickets.php",
data: "",
success: function(html){
// Succesful, load visualization API and send data
google.load('visualization', '1', {'packages': ['annotatedtimeline']});
google.setOnLoadCallback(drawData(html));
}
});
});
function drawData(response){
$("#divTendency").removeClass("loading");
// Data comes from PHP like: <CSV ticket count for each day>*<CSV dates for ticket counts>*<total number of days counted>
// So it has to be split first by * then by ,
var dataArray = response.split("*");
var dataTickets = dataArray[0];
var dataDates = dataArray[1];
var dataCount = dataArray[2];
// The comma separation now splits the ticket counts and the dates
var dataTicketArray = dataTickets.split(",");
var dataDatesArray = dataDates.split(",");
// Visualization data
var data = new google.visualization.DataTable();
data.addColumn('date', 'Date');
data.addColumn('number', 'Tickets');
data.addRows(dataCount);
var dateSplit = new Array();
for(var i = 0 ; i < dataCount ; i++){
// Separating the data because must be entered as "new Date(YYYY,M,D)"
dateSplit = dataDatesArray[i].split("-");
data.setValue(i, 0, new Date(dateSplit[2],dateSplit[1],dateSplit[0]));
data.setValue(i, 1, parseInt(dataTicketArray[i]));
}
var annotatedtimeline = new google.visualization.AnnotatedTimeLine(document.getElementById('divTendency'));
annotatedtimeline.draw(data, {displayAnnotations: true});
}
我记得当我使用Google
API时明确表示要首先初始化加载。因此,也许可以将google.load函数置于AJAX之外,然后在成功时继续调用函数的第二部分:
//Straight Away!
google.load('visualization', '1', {'packages': ['annotatedtimeline']});
$(document).ready(function(){
// Get TIER1Tickets
$("#divTendency").addClass("loading");
$.ajax({
type: "POST",
url: "getTIER1Tickets.php",
data: "",
success: function(html){
// Succesful, load visualization API and send data
google.setOnLoadCallback(drawData(html));
}
});
});
问题内容: 我的问题: 我有index.html: 是这样的: 问题很简单。 当我按下按钮时,我想动态加载内容,而无需刷新。 提前致谢!请发表评论以进行任何必要的澄清。 编辑,更详细的解释: 我不确定自己是否很清楚(或者我可能不了解我缺乏技术技能的答案),所以我再说一遍。(改写) 我有一个带有提交按钮的HTML,该按钮通过POST方法发送变量。 PHP文件使用此变量,并在经过一定过程后插入并更新M
问题内容: 使用fancybox(v2),如何创建一个唯一的URL,该URL在加载时显示带有iframe内容的fancybox。我可以很好地处理内联内容(例如,www.mysite.com / index.html#idgoeshere),但不知道为了加载fancybox以及其中的特定iframe,URL或js应该包含什么内容或ajax.txt页面。 我想要达到的目标是通过转到以下链接: www.
问题内容: 我该如何修复下面的脚本,以便每次都能使用!有时它起作用,有时却不起作用。 Pro JQuery 解释了造成这种情况的原因,但没有讨论如何解决。我几乎肯定它与ajax ready状态有关,但是我不知道如何编写它。Web显示了大约99种不同的方式来编写Ajax和JQuery,这有点让人不知所措。 我的目标是创建一个HTML外壳,该外壳可以填充基于服务器的文本文件中的文本。例如:假设服务器上
问题内容: 我想为我的jquery ajax代码(这是jquery仍在处理时)实现一个加载图像,下面是我的代码: 如何在此代码中实现加载图像。谢谢 问题答案: 尝试这样的事情:
问题内容: 我正在尝试使用AJAX加载跨域HTML页面,但除非dataType为“ jsonp”,否则无法获得响应。但是,使用jsonp时,浏览器期望使用脚本mime类型,但接收到“ text / html”。 我的请求代码是: 有什么方法可以避免对请求使用jsonp吗?我已经尝试使用crossDomain参数,但是没有用。 如果没有,有什么办法可以接收jsonp中的html内容?当前,控制台在j
本文向大家介绍使用CDN和AJAX加速WordPress中jQuery的加载,包括了使用CDN和AJAX加速WordPress中jQuery的加载的使用技巧和注意事项,需要的朋友参考一下 确定要放在Head部分 ? 事实上最好的情况是,js文件都不要在<head>部分进行加载,否则会影响到head部分的载入速度,直接导致网站的内容(body)载入延迟。如果你确定你不需要在head部分载入jQuer