एक समस्या है जिसे मैं हल नहीं कर सकता, मैं इंटरनेट पर बहुत कुछ देख रहा हूं लेकिन कुछ भी नहीं मिला।jQuery लोड Google विज़ुअलाइज़ेशन एपीआई AJAX
मेरे पास यह जावास्क्रिप्ट है जिसका उपयोग PHP द्वारा अजाक्स अनुरोध करने के लिए किया जाता है। जब अनुरोध किया जाता है, तो यह एक फ़ंक्शन को कॉल करता है जो डेटा को प्रस्तुत करने के लिए एनोटेटेडटाइमलाइन खींचने के लिए Google विज़ुअलाइज़ेशन API का उपयोग करता है।
स्क्रिप्ट AJAX के बिना बहुत अच्छा काम करती है, अगर मैं इन सब कुछ इनलाइन करता हूं तो यह बहुत अच्छा काम करता है, लेकिन जब मैं AJAX के साथ ऐसा करने की कोशिश करता हूं तो यह काम नहीं करता !!!
मुझे जो त्रुटि मिलती है वह Google डेटा डेवलपर टूल्स में "डेटा" डेटाटेबल की घोषणा में है, मुझे 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});
}
क्या आपने IE पर काम करने का प्रयास किया था? – reggie