I私はこののJavaScript JSONの解析は、undefinedを返します
console.log(getSetting('restaurant_name'));
のようにテストしてい以下の機能
function getSetting(item) {
var rawFile = new XMLHttpRequest();
rawFile.overrideMimeType("application/json");
rawFile.open("GET", "settings.json", true);
rawFile.onreadystatechange = function() {
if (rawFile.readyState === 4 && rawFile.status == "200") {
var data = JSON.parse(rawFile.responseText);
return data.item;
}
}
rawFile.send(null);
}
それは未定義
データのはconsole.logを返すされていは、JSONファイルのJSONオブジェクトを期待どおりに返します。
項目戻る予想通りRESTAURANT_NAMEのにconsole.log。
私は明白な何かを見逃しているに違いありませんが、私はまだ何も出くわしていないこれに関するStackoverflowの他のトピックを見ている。
私は結果を得るためにデータ[0] .itemを使用しようとしましたが、違いはありませんでした。 settings.jsonファイルの
内容:
{
"restaurant_name": "Example_Restaurant_Name",
"restaurant_address": "Example Restaurant, England"
}
ヘルプくらい、事前に感謝を感謝しています。あなたのコードは、JSONのitem
名前を探していると、ある
非同期関数は何も返さず、代わりに約束とコールバックを処理する方法を学習する必要があります。 – webdeb
@ webbdeb - ありがとう。私は前にwmorrellの例としてコールバックを持っていました。データ[item] _vs_ data.itemは何らかの理由でdata.itemを参照してJSON値を取得した例で私を捨てました。 – Laplant1