Javascript 如何从数组中的外部文件加载数据

Javascript 如何从数组中的外部文件加载数据,javascript,arrays,file,variables,Javascript,Arrays,File,Variables,我尝试了一整天使用jquery从文件加载数据,但没有成功。 在javascript中,我将一个值数组定义为全局变量,它将用于以下函数中。变量如下所示: var Yvalue01=[7.0,6.9,9.5,14.5,18.2,21.5,25.2,26.5,23.3,18.3,13.9,9.6] 但是,我希望从包含以下内容的服务器上的文本文件加载这些值: 7.0,6.9,9.5,14.5,18.2,21.5,25.2,26.5,23.3,18.3,13.9,9.6 如何在javascript(没有p

我尝试了一整天使用jquery从文件加载数据,但没有成功。 在javascript中,我将一个值数组定义为全局变量,它将用于以下函数中。变量如下所示:

var Yvalue01=[7.0,6.9,9.5,14.5,18.2,21.5,25.2,26.5,23.3,18.3,13.9,9.6]

但是,我希望从包含以下内容的服务器上的文本文件加载这些值:

7.0,6.9,9.5,14.5,18.2,21.5,25.2,26.5,23.3,18.3,13.9,9.6


如何在javascript(没有php)中实现这一点?

您可以使用XHR请求检索文件并解析它,例如

function reqListener () {
    var Yvalue01 = this.responseText.split(",");//Split the response by commas
    Yvalue01 = Yvalue0.map(function (el) { return parseFloat(el);});//Parse the values to make them numbers
    //Do stuff with your array
}

var oReq = new XMLHttpRequest();
oReq.onload = reqListener;
oReq.open("get", "yourFile.txt", true);
oReq.send();
有关更多详细信息,请参阅MDN文档:

Jquery和其他javascript库(例如dojo)有更好的API来实现这一点


您必须使用AJAX获取文件,然后对其进行解析

例如,下面的代码获取一个名为data.txt的文件,该文件具有以下数字,并将其加载到名为values的数组中

data.txt中的内容:

7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6
代码如下:(需要jQuery,因为它更简单)


location变量是服务器上文件的相对文件路径字符串。

OP没有指定JQueryTrue的使用,但我认为它使AJAX请求更容易。我完全同意您的看法,但OP可能正在使用另一个库,或者根本不想使用任何库。
function getFile(location)
{
    var result;
    $.ajax(
    {
        type: 'GET',
        async: false,
        url:  location,
        success: function(data) {
            result = data;
        },
        fail: function() {
            result = null;
        }
    });
    return result;
}

var values = getFile("data.txt").split(",");