我试图通过创建一个函数来编写一个简单的文本文件阅读器,该函数接受文件的路径并将每一行文本转换为一个字符数组,但它不起作用。
function readTextFile() { var rawFile = new XMLHttpRequest(); rawFile.open("GET", "testing.txt", true); rawFile.onreadystatechange = function() { if (rawFile.readyState === 4) { var allText = rawFile.responseText; document.getElementById("textSection").innerHTML = allText; } } rawFile.send(); }
这里出了什么问题?
在从以前的版本中稍微更改代码之后,这似乎仍然不起作用,现在它给了我一个XMLHttpRequest异常101。
XMLHttpRequest
我在 Firefox 上对此进行了测试并且可以正常工作,但是在 Google Chrome 中它只是成功了,并且它一直给我一个异常 101。我怎样才能让它不仅可以在 Firefox 上工作,而且可以在其他浏览器上工作(尤其是铬合金)?
您需要检查状态 0(当使用 本地加载文件时XMLHttpRequest,您不会得到返回的状态,因为它不是来自 a Webserver)
Webserver
function readTextFile(file) { var rawFile = new XMLHttpRequest(); rawFile.open("GET", file, false); rawFile.onreadystatechange = function () { if(rawFile.readyState === 4) { if(rawFile.status === 200 || rawFile.status == 0) { var allText = rawFile.responseText; alert(allText); } } } rawFile.send(null); }
并file://在您的文件名中指定:
file://
readTextFile("file:///C:/your/path/to/file.txt");