2016-09-17 13 views
-1

私は現在、少しオフラインのhtmlツールを作っています。私は配列に格納されているobjetsのリストを使用する必要がありますが、元のjavascriptファイルに格納するには大きすぎます。ファイルをJavascriptプログラムにリンクする最も簡単な方法は何ですか?

私の質問は、「DB.txt」のようなファイルにこれを保存して、私のjavascriptプログラムで再利用できますか?

編集:私はばかだと私はこれを行うための "最も簡単な"方法は、ちょうど私がすべての私の値を持つ配列を作成する別のjavascriptファイルを作成することだったようだ。みんなありがとう!

+0

私は[のIndexedDB](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API) –

+0

を使用したい外部せずにこれを行う方法はありませんAPI? – Squiller

+1

IndexedDBは外部APIではなく、WebAPIの一部であり、ネイティブではほとんどのブラウザ(少なくとも最新のもの)に実装されています。 – mdziekon

答えて

1

あなたがのIndexedDBのような小さなDB(A.Wolffにより示唆されるように)の使用を避けたい場合は、テキストファイルを作成し、AJAXを介してアクセスすることができます

var xhr = new XMLHttpRequest(); 
xhr.open('GET', 'path/to/your/text/file', false); 
xhr.onreadystatechange = function() { 
    if (xhr.readyState == 4 && xhr.status == '200') { 
     // the responseText property is the content of the file 
     // then you can do whatever you want with the file 
     console.log('file', xhr.responseText); 
    } 
}; 
xhr.send(null); 

することができますまた、コールバックで関数の中で、このコードを配置:

function loadAjax(file, callback) { 
    var xhr = new XMLHttpRequest(); 
    xhr.open('GET', file, false); 
    xhr.onreadystatechange = function() { 
     if (xhr.readyState == 4 && xhr.status == '200') { 
      callback(xhr.responseText); 
     } 
    }; 
    xhr.send(null); 
} 

そしてそれを呼び出す:

loadAjax('path/to/your/text/file', function(response) { 
    console.log('file', response); // content of file 
}); 

より現代的な解決法(fetch、古いブラウザではポリフィルを使用)または外部ライブラリ(jQuery、スーパーユーザなど)を使用してください。

さらに、jsonファイルにデータを格納し、それを引き続きajaxでフェッチしながら簡単に解析できます。例えば:

loadAjax('path/to/your/json/file', function(response) { 
    console.log('file', JSON.parse(response)); // content of file 
}); 
関連する問題