1. ホーム
  2. javascript

[解決済み] ローカルのテキストファイルを読み込むには?

2022-03-21 06:04:52

質問

ファイルのパスを受け取って、各行のテキストを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 です。

Firefoxでテストしたところうまくいきましたが、Google Chromeではどうしてもうまくいかず、Exception 101を出し続けてしまいます。どうすればFirefoxだけでなく、他のブラウザ(特にChrome)でも動作するようになるのでしょうか?

解決方法は?

ステータス0を確認する必要があります。 XMLHttpRequest からではないので、ステータスが返されることはありません。 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:// をファイル名に入れてください。

readTextFile("file:///C:/your/path/to/file.txt");