尝试了一整天使用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)中做到这一点?
答案 0 :(得分:1)
您可以使用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文档:https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest
Jquery和其他javascript库(例如dojo)具有更好的api,例如
答案 1 :(得分:0)
你必须使用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,因为它更容易)
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(",");
location 变量是服务器上文件的相对文件路径的字符串。