在JavaScript中逐行读取文本文件

在JavaScript中逐行读取文本文件,javascript,ajax,Javascript,Ajax,我有这样一个文本文件: User:root Password:root123 我需要通过JavaScript逐行访问这个文本文件,并将其存储在一个数组中,这样我就可以使用: 我尝试了很多方法,但都没有成功 xmlHttp.onreadystatechange = function() { var tmpDoc, re=/^(.+)$/gm, arr=[], oP, arrSplit=[], arrSpl=[]; if(xmlHttp.readyState === 4) { if

我有这样一个文本文件:

User:root
Password:root123
我需要通过JavaScript逐行访问这个文本文件,并将其存储在一个数组中,这样我就可以使用

我尝试了很多方法,但都没有成功

xmlHttp.onreadystatechange = function() {
  var tmpDoc, re=/^(.+)$/gm, arr=[], oP, arrSplit=[], arrSpl=[];
  if(xmlHttp.readyState === 4) {
    if(xmlHttp.status === 200){
      alert("AS");
      tmpDoc = xmlHttp.responseText;    
      arrSpl = tmpDoc.split(",");
      var arrGlobalHost = arrSpl[0].split(':');
      var arrGlobalUser = arrSpl[1].split(':');
      var arrGlobalPass = arrSpl[2].split(':');
      strGlobalHost = arrGlobalHost[1];
      strGlobalUser = arrGlobalUser[1];
      strGlobalPass = arrGlobalPass[1];
      xmlHttp=null;
    }
  }
}; 
xmlHttp.open("POST", fileName, true); // Use POST to prevent use of cached file
xmlHttp.send(); 
我调用了这个按钮点击事件,但我不是第一次得到输出。因为只有在第一次加载页面后才保持就绪状态,所以我需要在第一次加载页面时保持就绪状态。

在Windows中--JScript+ActiveXObject(“Scripting.FileSystemObject”)

在其他--Node.js+“文件系统”


从web上获取目录

<!DOCTYPE html>
<html>
<head>
<script     src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
$("button").click(function(){
   $("#div1").load("demo_test.txt");
});
});
</script>
 </head>

$(文档).ready(函数(){
$(“按钮”)。单击(函数(){
$(“#div1”).load(“demo_test.txt”);
});
});

让jQuery AJAX更改此文本
获取外部内容


建议,谷歌搜索

我在自己的网站上找到了它 我刚刚用逗号分隔的方式编辑了文本文件(config.txt)

User:root,
Password:root123
我还添加了一个名为user的隐藏字段,以获取通过ajax读取的文件的响应 我写的代码如下:

var xmlHttp = new XMLHttpRequest();// Specify HTTP GET by default and supply the relative url  
xmlHttp.open("POST", "config.txt", false);  // Start a synchronous AJAX request and wait for the response 
xmlHttp.send(null); 
var result = document.getElementById('user').value;
var result= xmlHttp.responseText; 
var arrSplt = new Array;
arrSplt = result.split(',');//seperating commas
var arrSplittedCredHost = new Array;var arrSplittedCredUser = new Array;
var arrSplittedCredPass = new Array;
arrSplittedCredHost = arrSplt[0].split(':');
arrSplittedCredUser = arrSplt[1].split(':');
arrSplittedCredPass = arrSplt[2].split(':');

文件是否可以通过web访问?如果没有,javascript将无法访问它。如果它是可访问的,你应该研究AJAXPost,你已经尝试过的代码禁止JavaScript访问计算机的文件系统(如果你想知道的话)。您可以使用XHttpRequest(如果必须的话,也可以使用AJAX)访问托管文件(由Apache、ngix或lighttpd提供服务)。这将把文件的内容作为文本传递到JavaScript代码中,然后您可以根据需要对其进行操作。@SparroHawk基本正确,如果您在文件夹中访问调用本地数据的index.html,它就可以访问。(通过我的一个git项目进行测试以确保)通过直接访问我机器上文件夹中的index.html(不是通过git):)我不理解var fs=require('fs');js是一个基于JavaScript运行时构建的服务器端平台。如果代码在浏览器中运行,则无法从操作系统读取任何文件,请参阅SparoHawk的评论。
<div id="div1"><h2>Let jQuery AJAX Change This Text</h2></div>
<button>Get External Content</button>
User:root,
Password:root123
var xmlHttp = new XMLHttpRequest();// Specify HTTP GET by default and supply the relative url  
xmlHttp.open("POST", "config.txt", false);  // Start a synchronous AJAX request and wait for the response 
xmlHttp.send(null); 
var result = document.getElementById('user').value;
var result= xmlHttp.responseText; 
var arrSplt = new Array;
arrSplt = result.split(',');//seperating commas
var arrSplittedCredHost = new Array;var arrSplittedCredUser = new Array;
var arrSplittedCredPass = new Array;
arrSplittedCredHost = arrSplt[0].split(':');
arrSplittedCredUser = arrSplt[1].split(':');
arrSplittedCredPass = arrSplt[2].split(':');