使用Java脚本HTML从JS文件获取数组数据

时间:2018-08-24 03:31:54

标签: javascript html arrays

专家您好,请帮助。

所以我有两个问题要从原始文件中获取一些数组

首先在html上尝试使用getData函数从js获取数组时始终返回未定义

从txt文件中第二次获取仅包含原始数据的数组,根本没有任何作用

index.html

<script>
  var myData = []
  myData.push({id: 999,name: "Zee"}); //just for add some data
  //myData = getData(); << error not defined
  console.log(myData);
</script>

util.js

function getData() {
  array = [{id: 1,name: 'Alpha'}, 
           {id: 2,name: 'Beta'}]
  /*
  array = some file
  this file only contain this
  {id:1,name:'Alpha'},
  {id:2,name:'Beta'}
  */
  return array;
}

data.txt

 {id:1,name:'Alpha'},
 {id:2,name:'Beta'}

如何做到这一点。

2 个答案:

答案 0 :(得分:0)

如果您的 html 文件,请链接脚本文件,该文件包含getData()函数。

<script src="filename.js"></script>
<script>
  var myData = getData();
  myData.push({id: 999,name: "Zee"});
  console.log(myData);
</script>

对于第二个问题,您可能需要查看以下问题。答案已经在那里。

How to read an external local JSON file in Javascript

答案 1 :(得分:0)

此问题已在8月24日使用以下代码解决了

Util.js

function readTextFile(file) {
  var allText;
  var rawFile = new XMLHttpRequest();
  rawFile.open("GET", file, false);
  rawFile.onreadystatechange = function() {
    if (rawFile.readyState === 4) {
      if (rawFile.status === 200 || rawFile.status == 0) {
        allText = rawFile.responseText;
      }
    }
  };
  rawFile.send(null);
  return allText;
}

function getData() {
  var str = "[" + readTextFile("data.txt") + "]";
  var array1 = [str];
  var array2 = JSON.parse(array1);
  return array2;
}

index.html

<script src="util.js">
  var myData = []
  myData = getData();
  console.log(myData);
</script>