gpt4 book ai didi

javascript - 如何在 javascript 中循环遍历 xmlhttprequest

转载 作者:行者123 更新时间:2023-11-29 19:46:25 25 4
gpt4 key购买 nike

我正在尝试将一组单元格从谷歌电子表格中提取到网页中以进行报告。我读了一些建议使用超时的其他帖子,但我似乎也无法正常工作。如果您认为这可行,我可以添加我尝试用于超时的代码。这是我的代码:

    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]);
}

当我在 for 循环中运行它时,我为每个 id 标签获得了相同的值。它们都是数组中最后一项的值。我不确定问题是 xmlhttprequest 没有得到足够的时间还是什么,我们将不胜感激。

最佳答案

您没有正确地将“temp”声明为 XHR 事件处理程序中的局部变量。在其前面添加var。没有它,它就是全局性的。这意味着每次调用“getValue()”都会覆盖前一次的工作。

关于javascript - 如何在 javascript 中循环遍历 xmlhttprequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19256113/

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