jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jQuery使用AJAX加载Google Visualization API大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
一个问题,我不能解决,我一直在网上很多,但什么也找不到。

我有这个JavaScript,用于做一个Ajax请求由PHP。请求完成后,它会调用一个函数,该函数使用Google Visualization API来绘制带注释的时间线来显示数据。

脚本工作伟大没有AJAX,如果我做一切内联它工作伟大,但是当我尝试使用AJAX它不工作!

我得到的错误是在“数据”DataTable的声明,在Google Chrome开发工具中我得到一个未捕获的TypeError:无法读取属性’DataTable’未定义。

当脚本得到错误时,页面上的所有内容都被清除,它只显示一个空白页。

所以我不知道如何使它的工作。

$(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>*<@R_966_10586@l 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,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',{'packages': ['Annotatedtimeline']}); 

$(document).ready(function(){
    // Get TIER1Tickets                 
    $("#divTendency").addClass("loading");

    $.ajax({
        type: "POST",load visualization API and send data
            google.setOnLoadCallBACk(drawData(html)); 
        }
    });  
});

大佬总结

以上是大佬教程为你收集整理的jQuery使用AJAX加载Google Visualization API全部内容,希望文章能够帮你解决jQuery使用AJAX加载Google Visualization API所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。