【发布时间】:2017-07-14 13:39:37
【问题描述】:
var address = [ "data/somedata1.json", "data/somedata2.json", "data/somedata3.json", "data/somedata4.json", "data/somedata5.json"];
以及导入此文件的函数
function readData()
{
var loadFile = function (filePath, done)
{
var xhr = new XMLHttpRequest();
xhr.open("GET", filePath, true);
xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
xhr.onload = function () { return done(this.responseText) }
xhr.send();
}
address.forEach(function (file, i)
{
loadFile(file, function (responseText)
{
jsonData[i] = JSON.parse(responseText);
if(i === 4)
{
fill(jsonData);
document.getElementById("el").innerHTML = jsonData[2].title3;
Dosometing(jsonData[0])
}
})
})
}
所有 JSON 文件的绝对大小为 150kb。问题是,有时当我在网站上运行此代码时,我得到 jsonData[0] 未定义,有时全部加载成功。这意味着所有数据都没有正确加载。我做错了什么?是否有机会更好地编写此代码以确保正确加载所有文件?
【问题讨论】:
-
您通常使用
<script>而不是<code>。可以试试<script>标签吗? -
感谢
-
有时是什么意思?是同一台机器,同一个浏览器,同一个文件吗?
-
<code>标签是您代码的一部分吗?我认为这是尝试为 Stack Overflow 格式化代码。
标签: javascript arrays json