[英]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.