Abrir arquivos locais em JavaScript
Eu sou novo em JavaScript. Encontrei um exemplo para abrir arquivos locais com javascript emStackOverflow. Depois de pesquisar no Google, sou capaz de definir meuscromada para permitir a leitura de arquivos locais, e sou capaz de executar esse exemplo. No entanto, eu quero retornar a stringallText
e usá-lo mais tarde no meu script. Mas a corda se tornaundefined
lado de forareadTextFile()
.
Existe uma pergunta semelhanteaqui. Parece que tem algo a ver com o recurso assíncrono deAJAX
. Eu mal consigo entender os jargões no momento. Só não vejo por que, neste post, o terceiro parâmetro deXMLHttpRequest.open()
está definido para sertrue
.
De qualquer forma, abaixo está o meu código atual. Eu quero usarallText
função externareadTextFile()
.
<!DOCTYPE html>
<html>
<script>
function readTextFile(file)
{
var allText;
var rawFil,e = 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);
return allText; // this is the part that goes wrong I think
}
t = readTextFile("foo.file");
document.write(t) // print out "undeifned" instead of the correct answer
</script>
</html>