Javascript 从数组中的文件中读取行

Javascript 从数组中的文件中读取行,javascript,dojo,Javascript,Dojo,我有main.log文件,类似于: 10-01-1970 01:42:52 Bus_Power device 9 up 10-01-1970 01:42:52 External_Power device 9 up 10-01-1970 01:42:57 Bus_Power device 1 down 10-01-1970 01:42:57 Bus_Power device 2 down 每行是一个数据。如何使用Dojo或普通JavaScript在一行数组中解析它 例如: ['10-01-197

我有main.log文件,类似于:

10-01-1970 01:42:52 Bus_Power device 9 up
10-01-1970 01:42:52 External_Power device 9 up
10-01-1970 01:42:57 Bus_Power device 1 down
10-01-1970 01:42:57 Bus_Power device 2 down
每行是一个数据。如何使用Dojo或普通JavaScript在一行数组中解析它

例如:

['10-01-1970 01:42:52 Bus_Power device 9 up','10-01-1970 01:42:52 External_Power device 9 up']

注意:为了简单起见,同步完成,因为没有给出有关此功能应用的详细信息。

假设您正在阅读文本/日志文件,以下代码从stackflow.com的

var contentType = "application/x-www-form-urlencoded; charset=utf-8";

var request = new XMLHttpRequest(); 
request.open("GET", 'test.log', false);
request.setRequestHeader('Content-type', contentType);

if (request.overrideMimeType) request.overrideMimeType(contentType);

// exception handling
try { request.send(null); } catch (e) { return null; }
if (request.status == 500 || request.status == 404 || request.status == 2 || (request.status == 0 && request.responseText == '')) return null;

lines = request.responseText.split('\n')
for( var i in lines ) {
    console.log(lines[i]);
}

编码/解码问题可能会导致问题,因此我们可能还需要异常处理。有关XMLHttpRequest的更多信息,请访问。

如果您将文件转换为字符串(如“文本”),则可以执行以下操作:

var lines = text.split("\n");
检查服务器上的文件是否仅使用一个换行符(UNIX样式)或CR-LF对(Windows样式)终止行


首先,如何将文件转换为字符串?您可以使用
dojo.xhrGet(…)
。在Dojo文档中查找它。

注意:Dojo将有一个很好的AJAX组件,您应该使用它来从库中获益。+1可能使用
xhr.responseText.split(/\r?\n/)代替?还是没有必要?(实际上我不确定)。
var lines = text.split("\n");