繁体   English   中英

用Javascript将文件读入数组-似乎无法使其正常工作

[英]Reading file with Javascript into array - can't seem to make it work

我有一个简单的2列csv文件,我希望我的站点读取该文件并最终将其解析为一个数组。 数据格式如下:

亚特兰大勇士队(亚特兰大勇士队)
巴尔的摩金莺,Baltimore_Orioles
波士顿红袜,Boston_Red_Sox
等等

该文件当前存储在与我的html文件相同的位置。 我正在尝试使用ajax请求将文件中的数据提取到数组中,然后进一步解析,以便myArray [0] [0] ='Atlanta Braves'。

这是我的代码:

var myArray = [];

$.ajax({
    type: 'GET',
    url: 'datafilename.csv',
    success: function(data){processData(data);}
});

function processData(data){
    myArray = data.split('\n');
    for (i = 0; i < myArray.length; i++){
        myArray[i] = myArray[i].split(',');
    }       
}

alert(myArray[0][0]);

不幸的是,警报仅返回“未定义”。 我在这里做错了什么? 对于任何反馈,我们都表示感谢。

$.ajax是一个异步函数。 这意味着,直到其他同步代码已经运行之后,它才能完成。 尝试添加以下内容:

function processData(data) {
    // Your existing code goes here...
    alert(myArray[0][0]);
}

这是有效的,因为processData AJAX调用返回后才运行。 异步功能基本上是这样的:

var value = 1;
setTimeout(function() {
  value = 2; // This won't happen for about 1 second
  console.log(value); // 2
}, 1000); // Run this function in 1 second
console.log(value); // 1. This happens almost immediately, without pause

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM