无法从jquery get函数访问外部变量

时间:2013-07-11 17:48:39

标签: javascript jquery jquery-get

我正在尝试将csv转换为关联数组,但$ .get函数不会更改外部textData变量

function csvToArray(filename){

var textData;
var headers = new Array(),
    dataValues = new Array();

$.get(filename, function(data){
    textData = data;
});

var dataArray = textData.split('\n');
headers = dataArray[0].split(',');

for(var i = 1; i<dataArray.length; i++){
    var thisLine = dataArray[i].split(','),
        tempArray = new Array();

    for(var j = 0; j<thisLine.length; j++){
        tempArray[headers[j]] = thisLine[j];
    }

    dataValues.push(tempArray);
}

return dataValues;

}

为什么没有设置textData?

1 个答案:

答案 0 :(得分:5)

获取异步

因此,当设置 textData 时,其余的语句已经执行。

因此,请考虑将get之后的语句移动到回调中,其中填充textData,然后可以对其进行处理。