JavaScript/jQuery を使用してローカル ファイルの内容を読み取りたい。これがよく議論されることは理解していますが、HTML を操作するのではなく、フェッチが完了した後にコンテンツを返したいので、私の例は少し異なります。
このコードは自分のブラウザー (Chrome、 --allow-file-access-from-files フラグで開始) 内で実行することを意図しているため、セキュリティの問題やローカル ファイルについては説明しません。
データを取得する次の関数があります...
function readData() {
$.ajax({
type: "GET",
url: "data.xml",
async: false, // this does not change the outcome
dataType: "xml",
success: function(xml) {
// Got the data, find entries and return them.
console.log("Returning data");
var doc = $(xml).find('entry');
// This is where most examples manipulate dom, I want to
// return the data instead
return doc;
}
});
}
今、やりたい...
var xmlDoc = readData();
// undefined, why?
変数にドキュメントがあります。代わりに、未定義になります。ファイルがフェッチされる前に関数が返されるようです。それとも、変数のスコープに問題がありますか?
これを達成する方法を知っている人はいますか?はい、ローカルで実行していても、JavaScript を使用したいのは確かです。