Javascript 将信息读入数组

Javascript 将信息读入数组,javascript,html,Javascript,Html,假设我在subsysteminformation.txt文件中存储了以下信息 #{ "buildnames": { label: "buildnames", data: ["test2-a1", "test2-a2", "test2-a3", "test2-a4","test2-a1", "test2-a2", "test2-a3", "test2-a4","test2-a1", "test2-a2", "test2-a3", "test2-a4",

假设我在subsysteminformation.txt文件中存储了以下信息

#{
    "buildnames": {
        label: "buildnames",
        data: ["test2-a1", "test2-a2", "test2-a3",  "test2-a4","test2-a1", "test2-a2", "test2-a3",  "test2-a4","test2-a1", "test2-a2", "test2-a3",  "test2-a4","test2-a1", "test2-a2", "test2-a3",  "test2-a4",
               "test2-a1", "test2-a2", "test2-a3",  "test2-a4","test2-a1", "test2-a2", "test2-a3",  "test2-a4","test2-a1", "test2-a2", "test2-a3",  "test2-a4","test2-a1", "test2-a2", "test2-a3",  "test2-a4",
               "test2-a1", "test2-a2", "test2-a3",  "test2-a4","test2-a1", "test2-a2", "test2-a3",  "test2-a4","test2-a1", "test2-a2", "test2-a3",  "test2-a4","test2-a1", "test2-a2", "test2-a3",  "test2-a4",
               "test2-a1", "test2-a2", "test2-a3",  "test2-a4","test2-a1", "test2-a2", "test2-a3",  "test2-a4","test2-a1", "test2-a2", "test2-a3",  "test2-a4","test2-a1", "test2-a2", "test2-a3",  "test2-a4",
               "test2-a1", "test2-a2", "test2-a3",  "test2-a4","test2-a1", "test2-a2", "test2-a3",  "test2-a4","test2-a1", "test2-a2", "test2-a3",  "test2-a4","test2-a1", "test2-a2", "test2-a3",  "test2-a4",
               "test2-a1", "test2-a2", "test2-a3",  "test2-a4","test2-a1", "test2-a2", "test2-a3",  "test2-a4","test2-a1", "test2-a2", "test2-a3",  "test2-a4","test2-a1", "test2-a2", "test2-a3",  "test2-a4",
               "test2-a1", "test2-a2", "test2-a3",  "test2-a4","test2-a1", "test2-a2", "test2-a3",  "test2-a4","test2-a1", "test2-a2", "test2-a3",  "test2-a4","test2-a1", "test2-a2", "test2-a3",  "test2-a4",
               "test2-a1", "test2-a2", "test2-a3",  "test2-a4","test2-a1", "test2-a2", "test2-a3",  "test2-a4","test2-a1", "test2-a2", "test2-a3",  "test2-a4","test2-a1", "test2-a2", "test2-a3",  "test2-a4/"
        ]
        }}; 


#{
    subsystem: "CAS",
  date: {
        label: "CAS",
        data: [null]
    },        
    time: {
        label: "CAS",
        data: [null]
    },
   modules: {
        label: "CAS",
         data: [null]
    }, 
    cases: {
        label: "CAS",
         data: [null]
    }, 
    failed: {
        label: "CAS",
                   data: [[0, 239], [1, 249], [2, 237], [3, 192],[4, 234], [5, 288], [6, 234], [7, 195],[8, 245], [9, 181], [10, 294], [11, 195],[12, 249], [13, 235], [14, 262], [15, 155],
          [16, 245], [17, 121], [18, 372], [19, 195],[20, 255], [21, 231], [22, 332], [23, 195],[24, 225], [25, 271], [26, 272], [27, 195],[28, 255], [29, 131], [30, 332], [31, 165],
          [32, 245], [33, 201], [34, 132], [35, 195],[36, 245], [37, 211], [38, 232], [39, 195],[40, 245], [41, 231], [42, 262], [43, 195],[44, 245], [45, 261], [46, 252], [47, 155],
          [48, 245], [49, 161], [50, 172], [51, 195],[52, 245], [53, 241], [54, 212], [55, 195],[56, 245], [57, 211], [58, 232], [59, 195],[60, 245], [61, 201], [62, 232], [63, 155],
          [64, 245], [65, 231], [66, 232], [67, 195],[68, 245], [69, 211], [70, 232], [71, 195],[72, 245], [73, 231], [74, 232], [75, 195],[76, 245], [77, 231], [78, 232], [79, 145],
          [80, 245], [81, 231], [82, 232], [83, 195],[84, 245], [85, 231], [86, 232], [87, 195],[88, 245], [89, 171], [90, 132], [91, 195],[92, 245], [93, 231], [94, 232], [95, 135],
          [96, 245], [97, 181], [98, 302], [99, 195],[100, 245], [101, 214], [102, 252], [103, 195],[104, 255], [105, 261], [106, 262], [107, 195],[108, 205], [109, 311], [110, 232], [111, 135],
          [112, 245], [113, 231], [114, 242], [115, 195],[116, 245], [117, 231], [118, 232], [119, 195],[120, 245], [121, 211], [122, 223], [123, 195],[124, 235], [125, 231], [126, 312], [127, 135]
          ]
    }, 
    cover: {
        label: "CAS",
         data: [[0, 235], [1, 239], [2, 237], [3, 192],[4, 234], [5, 288], [6, 234], [7, 195],[8, 245], [9, 181], [10, 294], [11, 195],[12, 249], [13, 235], [14, 262], [15, 155],
          [16, 245], [17, 121], [18, 372], [19, 195],[20, 255], [21, 231], [22, 332], [23, 195],[24, 225], [25, 271], [26, 272], [27, 195],[28, 255], [29, 131], [30, 332], [31, 165],
          [32, 245], [33, 201], [34, 132], [35, 195],[36, 245], [37, 211], [38, 232], [39, 195],[40, 245], [41, 231], [42, 262], [43, 195],[44, 245], [45, 261], [46, 252], [47, 155],
          [48, 245], [49, 161], [50, 172], [51, 195],[52, 245], [53, 241], [54, 212], [55, 195],[56, 245], [57, 211], [58, 232], [59, 195],[60, 245], [61, 201], [62, 232], [63, 155],
          [64, 245], [65, 231], [66, 232], [67, 195],[68, 245], [69, 211], [70, 232], [71, 195],[72, 245], [73, 231], [74, 232], [75, 195],[76, 245], [77, 231], [78, 232], [79, 145],
          [80, 245], [81, 231], [82, 232], [83, 195],[84, 245], [85, 231], [86, 232], [87, 195],[88, 245], [89, 171], [90, 132], [91, 195],[92, 245], [93, 231], [94, 232], [95, 135],
          [96, 245], [97, 181], [98, 302], [99, 195],[100, 245], [101, 234], [102, 232], [103, 195],[104, 245], [105, 231], [106, 232], [107, 195],[108, 245], [109, 301], [110, 232], [111, 135],
          [112, 245], [113, 231], [114, 242], [115, 195],[116, 245], [117, 231], [118, 232], [119, 195],[120, 245], [121, 211], [122, 223], [123, 195],[124, 235], [125, 231], [126, 312], [127, 135]
          ]
    }};  
var xmlhttp;
function loadXMLDoc(url,cfunc){
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=cfunc;
    xmlhttp.open("GET",url,true);
    xmlhttp.send();
}


function myFunction(){
    loadXMLDoc("subsysteminformation.txt",handleXML);
}
var checkState = function(xmlhttp, callback) {
  if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
    callback();
  } else {
    // Check back again 1 sec later
    setTimeout(checkState, 1000);
  }
};


function handleXML()
  {
checkState(xmlhttp, function() {
   var txt=xmlhttp.responseText;
   var datasets = [];
   var datasetsCounter =0;
   var secondPos;
   var aPosition;
   var currentCharacterLocation;
while(txt.indexOf("#") > -1){   
    aPosition = txt.indexOf("#");
    secondPos = txt.indexOf("#", (aPosition)+1);
    aPosition++;
    datasets[datasetsCounter]=txt.substring(aPosition, secondPos);
    //var stringToCompare = txt.substring(aPosition, secondPos);
    txt = txt.substring(secondPos);
    datasetsCounter++;
    document.write("done");
和下面的脚本来读取信息

var xmlhttp;
function loadXMLDoc(url,cfunc){
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=cfunc;
    xmlhttp.open("GET",url,true);
    xmlhttp.send();
}


function myFunction(){
    loadXMLDoc("subsysteminformation.txt",handleXML);
}
var checkState = function(xmlhttp, callback) {
  if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
    callback();
  } else {
    // Check back again 1 sec later
    setTimeout(checkState, 1000);
  }
};


function handleXML()
  {
checkState(xmlhttp, function() {
   var txt=xmlhttp.responseText;
   var datasets = [];
   var datasetsCounter =0;
   var secondPos;
   var aPosition;
   var currentCharacterLocation;
while(txt.indexOf("#") > -1){   
    aPosition = txt.indexOf("#");
    secondPos = txt.indexOf("#", (aPosition)+1);
    aPosition++;
    datasets[datasetsCounter]=txt.substring(aPosition, secondPos);
    //var stringToCompare = txt.substring(aPosition, secondPos);
    txt = txt.substring(secondPos);
    datasetsCounter++;
    document.write("done");

var xmlhttp;
function loadXMLDoc(url,cfunc){
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=cfunc;
    xmlhttp.open("GET",url,true);
    xmlhttp.send();
}


function myFunction(){
    loadXMLDoc("subsysteminformation.txt",handleXML);
}
var checkState = function(xmlhttp, callback) {
  if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
    callback();
  } else {
    // Check back again 1 sec later
    setTimeout(checkState, 1000);
  }
};


function handleXML()
  {
checkState(xmlhttp, function() {
   var txt=xmlhttp.responseText;
   var datasets = [];
   var datasetsCounter =0;
   var secondPos;
   var aPosition;
   var currentCharacterLocation;
while(txt.indexOf("#") > -1){   
    aPosition = txt.indexOf("#");
    secondPos = txt.indexOf("#", (aPosition)+1);
    aPosition++;
    datasets[datasetsCounter]=txt.substring(aPosition, secondPos);
    //var stringToCompare = txt.substring(aPosition, secondPos);
    txt = txt.substring(secondPos);
    datasetsCounter++;
    document.write("done");
}

var xmlhttp;
function loadXMLDoc(url,cfunc){
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=cfunc;
    xmlhttp.open("GET",url,true);
    xmlhttp.send();
}


function myFunction(){
    loadXMLDoc("subsysteminformation.txt",handleXML);
}
var checkState = function(xmlhttp, callback) {
  if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
    callback();
  } else {
    // Check back again 1 sec later
    setTimeout(checkState, 1000);
  }
};


function handleXML()
  {
checkState(xmlhttp, function() {
   var txt=xmlhttp.responseText;
   var datasets = [];
   var datasetsCounter =0;
   var secondPos;
   var aPosition;
   var currentCharacterLocation;
while(txt.indexOf("#") > -1){   
    aPosition = txt.indexOf("#");
    secondPos = txt.indexOf("#", (aPosition)+1);
    aPosition++;
    datasets[datasetsCounter]=txt.substring(aPosition, secondPos);
    //var stringToCompare = txt.substring(aPosition, secondPos);
    txt = txt.substring(secondPos);
    datasetsCounter++;
    document.write("done");
});
}
现在来谈谈我的问题

var xmlhttp;
function loadXMLDoc(url,cfunc){
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=cfunc;
    xmlhttp.open("GET",url,true);
    xmlhttp.send();
}


function myFunction(){
    loadXMLDoc("subsysteminformation.txt",handleXML);
}
var checkState = function(xmlhttp, callback) {
  if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
    callback();
  } else {
    // Check back again 1 sec later
    setTimeout(checkState, 1000);
  }
};


function handleXML()
  {
checkState(xmlhttp, function() {
   var txt=xmlhttp.responseText;
   var datasets = [];
   var datasetsCounter =0;
   var secondPos;
   var aPosition;
   var currentCharacterLocation;
while(txt.indexOf("#") > -1){   
    aPosition = txt.indexOf("#");
    secondPos = txt.indexOf("#", (aPosition)+1);
    aPosition++;
    datasets[datasetsCounter]=txt.substring(aPosition, secondPos);
    //var stringToCompare = txt.substring(aPosition, secondPos);
    txt = txt.substring(secondPos);
    datasetsCounter++;
    document.write("done");
这一部分错得很厉害

var xmlhttp;
function loadXMLDoc(url,cfunc){
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=cfunc;
    xmlhttp.open("GET",url,true);
    xmlhttp.send();
}


function myFunction(){
    loadXMLDoc("subsysteminformation.txt",handleXML);
}
var checkState = function(xmlhttp, callback) {
  if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
    callback();
  } else {
    // Check back again 1 sec later
    setTimeout(checkState, 1000);
  }
};


function handleXML()
  {
checkState(xmlhttp, function() {
   var txt=xmlhttp.responseText;
   var datasets = [];
   var datasetsCounter =0;
   var secondPos;
   var aPosition;
   var currentCharacterLocation;
while(txt.indexOf("#") > -1){   
    aPosition = txt.indexOf("#");
    secondPos = txt.indexOf("#", (aPosition)+1);
    aPosition++;
    datasets[datasetsCounter]=txt.substring(aPosition, secondPos);
    //var stringToCompare = txt.substring(aPosition, secondPos);
    txt = txt.substring(secondPos);
    datasetsCounter++;
    document.write("done");
而(txt.indexOf(“#”)>-1{
aPosition=txt.indexOf(“#”); secondPos=txt.indexOf(“#”,(位置)+1); aPosition++; 数据集[DataSetsCenter]=txt.substring(位置,秒位置); //var stringToCompare=txt.substring(aPosition,secondPos); txt=txt.子字符串(secondPos); DataSetsCenter++; 文件。填写(“完成”); }

var xmlhttp;
function loadXMLDoc(url,cfunc){
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=cfunc;
    xmlhttp.open("GET",url,true);
    xmlhttp.send();
}


function myFunction(){
    loadXMLDoc("subsysteminformation.txt",handleXML);
}
var checkState = function(xmlhttp, callback) {
  if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
    callback();
  } else {
    // Check back again 1 sec later
    setTimeout(checkState, 1000);
  }
};


function handleXML()
  {
checkState(xmlhttp, function() {
   var txt=xmlhttp.responseText;
   var datasets = [];
   var datasetsCounter =0;
   var secondPos;
   var aPosition;
   var currentCharacterLocation;
while(txt.indexOf("#") > -1){   
    aPosition = txt.indexOf("#");
    secondPos = txt.indexOf("#", (aPosition)+1);
    aPosition++;
    datasets[datasetsCounter]=txt.substring(aPosition, secondPos);
    //var stringToCompare = txt.substring(aPosition, secondPos);
    txt = txt.substring(secondPos);
    datasetsCounter++;
    document.write("done");
我想做的是检查文本文件中是否有更多的“#”字符,如果有,则将后面的所有字符(直到下一个“#”字符,或者直到文档中没有更多字符)读入数组数据集[I],但我从来没有通过第一个“#”,也许你们中的一些聪明人可以帮我解决我做错了什么,我应该写什么来代替“if(txt.indexOf(“#”)来检查subsysteminformation.txt文件中是否还有“#”字符

var xmlhttp;
function loadXMLDoc(url,cfunc){
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=cfunc;
    xmlhttp.open("GET",url,true);
    xmlhttp.send();
}


function myFunction(){
    loadXMLDoc("subsysteminformation.txt",handleXML);
}
var checkState = function(xmlhttp, callback) {
  if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
    callback();
  } else {
    // Check back again 1 sec later
    setTimeout(checkState, 1000);
  }
};


function handleXML()
  {
checkState(xmlhttp, function() {
   var txt=xmlhttp.responseText;
   var datasets = [];
   var datasetsCounter =0;
   var secondPos;
   var aPosition;
   var currentCharacterLocation;
while(txt.indexOf("#") > -1){   
    aPosition = txt.indexOf("#");
    secondPos = txt.indexOf("#", (aPosition)+1);
    aPosition++;
    datasets[datasetsCounter]=txt.substring(aPosition, secondPos);
    //var stringToCompare = txt.substring(aPosition, secondPos);
    txt = txt.substring(secondPos);
    datasetsCounter++;
    document.write("done");
还有,当文本中没有更多的“#”字符时,如何读入最后一位信息

var xmlhttp;
function loadXMLDoc(url,cfunc){
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=cfunc;
    xmlhttp.open("GET",url,true);
    xmlhttp.send();
}


function myFunction(){
    loadXMLDoc("subsysteminformation.txt",handleXML);
}
var checkState = function(xmlhttp, callback) {
  if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
    callback();
  } else {
    // Check back again 1 sec later
    setTimeout(checkState, 1000);
  }
};


function handleXML()
  {
checkState(xmlhttp, function() {
   var txt=xmlhttp.responseText;
   var datasets = [];
   var datasetsCounter =0;
   var secondPos;
   var aPosition;
   var currentCharacterLocation;
while(txt.indexOf("#") > -1){   
    aPosition = txt.indexOf("#");
    secondPos = txt.indexOf("#", (aPosition)+1);
    aPosition++;
    datasets[datasetsCounter]=txt.substring(aPosition, secondPos);
    //var stringToCompare = txt.substring(aPosition, secondPos);
    txt = txt.substring(secondPos);
    datasetsCounter++;
    document.write("done");
提前感谢=)

var xmlhttp;
function loadXMLDoc(url,cfunc){
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=cfunc;
    xmlhttp.open("GET",url,true);
    xmlhttp.send();
}


function myFunction(){
    loadXMLDoc("subsysteminformation.txt",handleXML);
}
var checkState = function(xmlhttp, callback) {
  if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
    callback();
  } else {
    // Check back again 1 sec later
    setTimeout(checkState, 1000);
  }
};


function handleXML()
  {
checkState(xmlhttp, function() {
   var txt=xmlhttp.responseText;
   var datasets = [];
   var datasetsCounter =0;
   var secondPos;
   var aPosition;
   var currentCharacterLocation;
while(txt.indexOf("#") > -1){   
    aPosition = txt.indexOf("#");
    secondPos = txt.indexOf("#", (aPosition)+1);
    aPosition++;
    datasets[datasetsCounter]=txt.substring(aPosition, secondPos);
    //var stringToCompare = txt.substring(aPosition, secondPos);
    txt = txt.substring(secondPos);
    datasetsCounter++;
    document.write("done");
如果解算速度快,则编辑是一个加号,因为subsysteminformation.txt=文件中将包含大约100个“#”字符。

var xmlhttp;
function loadXMLDoc(url,cfunc){
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=cfunc;
    xmlhttp.open("GET",url,true);
    xmlhttp.send();
}


function myFunction(){
    loadXMLDoc("subsysteminformation.txt",handleXML);
}
var checkState = function(xmlhttp, callback) {
  if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
    callback();
  } else {
    // Check back again 1 sec later
    setTimeout(checkState, 1000);
  }
};


function handleXML()
  {
checkState(xmlhttp, function() {
   var txt=xmlhttp.responseText;
   var datasets = [];
   var datasetsCounter =0;
   var secondPos;
   var aPosition;
   var currentCharacterLocation;
while(txt.indexOf("#") > -1){   
    aPosition = txt.indexOf("#");
    secondPos = txt.indexOf("#", (aPosition)+1);
    aPosition++;
    datasets[datasetsCounter]=txt.substring(aPosition, secondPos);
    //var stringToCompare = txt.substring(aPosition, secondPos);
    txt = txt.substring(secondPos);
    datasetsCounter++;
    document.write("done");

编辑2问题是我从来没有退出过“While”循环,它一直在继续,我只想在使用了一个“#”字符后,继续下一个,不要再重复使用相同的“#”字符。=)

你可以有这样的东西

var xmlhttp;
function loadXMLDoc(url,cfunc){
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=cfunc;
    xmlhttp.open("GET",url,true);
    xmlhttp.send();
}


function myFunction(){
    loadXMLDoc("subsysteminformation.txt",handleXML);
}
var checkState = function(xmlhttp, callback) {
  if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
    callback();
  } else {
    // Check back again 1 sec later
    setTimeout(checkState, 1000);
  }
};


function handleXML()
  {
checkState(xmlhttp, function() {
   var txt=xmlhttp.responseText;
   var datasets = [];
   var datasetsCounter =0;
   var secondPos;
   var aPosition;
   var currentCharacterLocation;
while(txt.indexOf("#") > -1){   
    aPosition = txt.indexOf("#");
    secondPos = txt.indexOf("#", (aPosition)+1);
    aPosition++;
    datasets[datasetsCounter]=txt.substring(aPosition, secondPos);
    //var stringToCompare = txt.substring(aPosition, secondPos);
    txt = txt.substring(secondPos);
    datasetsCounter++;
    document.write("done");
var dataset=xmlhttp.responseText.match(/^#(.[^;]*)/gm).map(函数(项){return eval((“+item.replace(/^#/,”)+”))

var xmlhttp;
function loadXMLDoc(url,cfunc){
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=cfunc;
    xmlhttp.open("GET",url,true);
    xmlhttp.send();
}


function myFunction(){
    loadXMLDoc("subsysteminformation.txt",handleXML);
}
var checkState = function(xmlhttp, callback) {
  if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
    callback();
  } else {
    // Check back again 1 sec later
    setTimeout(checkState, 1000);
  }
};


function handleXML()
  {
checkState(xmlhttp, function() {
   var txt=xmlhttp.responseText;
   var datasets = [];
   var datasetsCounter =0;
   var secondPos;
   var aPosition;
   var currentCharacterLocation;
while(txt.indexOf("#") > -1){   
    aPosition = txt.indexOf("#");
    secondPos = txt.indexOf("#", (aPosition)+1);
    aPosition++;
    datasets[datasetsCounter]=txt.substring(aPosition, secondPos);
    //var stringToCompare = txt.substring(aPosition, secondPos);
    txt = txt.substring(secondPos);
    datasetsCounter++;
    document.write("done");

然后,数据集将是文本文件中的一组经过评估的对象

如果您不缩小范围,其他人可能会以“太本地化”结束您的问题,这样人们就可以知道问题的内容、主要问题等。我打赌您不需要大部分代码,而且它太长了,不能浏览。@ninjagecko问题是我从来没有走出“while”循环,它一直在继续going@TheBrain很抱歉,请您再次快速查看该行,它表示它需要另一个“'),当我像这样添加它时,var datasets=xmlhttp.responseText.match(/^#(..[^#]*)/gm).map(函数(项){return eval(“(“+item.replace”(/^#/,“+”)”);它仍然抱怨(期望另一个“)”,我做错了什么?我知道这是一个愚蠢的问题:Pyes,对不起,var dataset=xmlhttp.responseText.match(/^#/)/gm.map(函数(项){return eval((“(“+item.replace(/^#/,“+”))))))@Adam),您可能需要将匹配规则更改为/^(^)。[^;]*)/否则您将有eval(({name:value};)”),它会抛出一个错误。如果您读取到“;”之前的所有内容,那么它应该可以正常工作。@大脑再次抱歉,但现在它说“对象不支持此属性或方法,您所做的合法吗?您可以在这里检查@Adam我有一个更好的建议给您。与其在同一个文件中有多个对象,不如用#为什么不具有对象数组分隔。例如,您文件的内容可以是[{subsystem:''…},{subsystem:''…},{subsystem:'',{subsystem:''''.}]。然后在ajax响应上,只需将其设为var-dataset=eval(“(“+xmlhttp.responseText+”);
var xmlhttp;
function loadXMLDoc(url,cfunc){
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=cfunc;
    xmlhttp.open("GET",url,true);
    xmlhttp.send();
}


function myFunction(){
    loadXMLDoc("subsysteminformation.txt",handleXML);
}
var checkState = function(xmlhttp, callback) {
  if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
    callback();
  } else {
    // Check back again 1 sec later
    setTimeout(checkState, 1000);
  }
};


function handleXML()
  {
checkState(xmlhttp, function() {
   var txt=xmlhttp.responseText;
   var datasets = [];
   var datasetsCounter =0;
   var secondPos;
   var aPosition;
   var currentCharacterLocation;
while(txt.indexOf("#") > -1){   
    aPosition = txt.indexOf("#");
    secondPos = txt.indexOf("#", (aPosition)+1);
    aPosition++;
    datasets[datasetsCounter]=txt.substring(aPosition, secondPos);
    //var stringToCompare = txt.substring(aPosition, secondPos);
    txt = txt.substring(secondPos);
    datasetsCounter++;
    document.write("done");