如何在javascript中循环访问xmlhttprequest
How do I loop through an xmlhttprequest in 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]);
}
当我在 for 循环中运行它时,我为每个 id 标签获得相同的值。 它们都是数组中最后一项的值。 我不确定问题是否在于 xmlhttprequest 没有足够的时间还是什么,任何帮助将不胜感激。
您没有在 XHR 事件处理程序中正确声明"temp"作为局部变量。 在其前面添加var
。 没有它,它是全球性的。这意味着每次调用"getValue(("都会覆盖前一个调用的工作。
相关文章:
- 获取表中每行的一列的内容,然后循环访问每个内容
- 循环访问文档 (validate_doc_update) 中的 CouchDB 字段
- Javascript / JQuery循环访问已发布的ajax数据字符串以为其分配新值
- 如何循环访问页面上的所有复选框
- 循环访问 JS 数组 + 数组属性
- 在 AngularJS 中循环访问页面 URL 数组
- 循环访问嵌套的 JSON 数组
- 循环访问日期并打印格式化日期
- Javascript - 使用 for 时遇到问题.以循环访问对象
- 循环访问本地存储中的 json 列表
- Javascript - 循环访问对象数组,仅显示最后一个对象
- 循环访问 JSON 对象以获取自动完成建议
- 循环访问 JSON 对象并收集模型值
- 计数变量不循环访问 for 循环
- 如何使用循环访问值隐藏元素
- 如何在 JavaScript 中循环访问此 List 类的实例
- 如何循环访问对象中的编号属性
- D3 循环访问嵌套数据
- Javascript/jQuery:循环访问对象内的数组值
- jQuery循环访问元素以输入文本和更改类