Я пытаюсь вытащить набор ячеек из электронной таблицы google на веб-страницу для отчетности. Я прочитал несколько других сообщений, которые предложили использовать тайм-аут, но я тоже не могу заставить работать. Если вы думаете, что это сработает, я могу добавить свой код, который я пытался использовать для таймаута. Вот мой код:Как пропустить xmlhttprequest в javascript
var days = new Array();
days[0] ="G11%3AG11"; /*Today*/
days[1] ="G10%3AG10";
days[2] ="G9%3AG9";
days[3] ="G8%3AG8";
days[4] ="G7%3AG7";
days[5] ="G6%3AG6";
days[6] ="G5%3AG5";
days[7] ="G4%3AG4"; /*One week ago*/
var dayOfWeek = new Array();
dayOfWeek[0] ="day0";
dayOfWeek[1] ="day1";
dayOfWeek[2] ="day2";
dayOfWeek[3] ="day3";
dayOfWeek[4] ="day4";
dayOfWeek[5] ="day5";
dayOfWeek[6] ="day6";
dayOfWeek[7] ="day7";
function getValue(cell, element){
var url = "https://docs.google.com/spreadsheet/pub?key=MyKey&single=true&gid=2&range="+cell+"&output=csv";
temp = new XMLHttpRequest();
temp.onreadystatechange = function() {
if (temp.readyState === 4) {
document.getElementById(element).innerHTML = temp.responseText;
}
};
temp.open("GET", url, true);
temp.send(null);
}
Когда я вызываю функцию в главном корпусе кода этого является то, что он выглядит следующим образом:
for(var a=0;a<days.length;a++){
getValue(days[a],dayOfWeek[a]);
}
Когда я запускаю его в течение loop Я получаю одинаковое значение для каждого из моих тегов id. Все они являются значениями из последнего элемента массива. Я не уверен, что проблема связана с тем, что xmlhttprequest не получает достаточного количества времени или что-то, любая помощь будет оценена по достоинству.
Ваша петля объявляет индекс 'a', но вы ссылаетесь на' i' в теле? Также вам стоит подумать о том, чтобы сделать один запрос для данных, относящихся к каждому дню, а не к 7 одновременно, поскольку это неизбежно станет началом узкого места, когда вы получите свой код. – Emissary
Хорошо поймать @Emissary спасибо! В конце концов мы переключимся на тянуть все 7 дней, но это было проще, чтобы запустить проект на данный момент. – goteamtim