我正在尝试通过创建一个接受文件路径并将文本的每一行转换为char数组的函数来编写一个简单的文本文件阅读器,但是它不起作用。
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上而且还可以在其他浏览器(尤其是Chrome)上运行)?
您需要检查状态0(例如,使用本地加载文件时XMLHttpRequest,您不会得到返回的状态,因为它不是来自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");