0
このコードを使用して、同じフォルダに保存されたJSONファイルを取得しています。JavascriptでJSONオブジェクトを解析すると機能しません
var schedtotal = 0;
var requestURL11 = 'schedtotal.json';
var request11 = new XMLHttpRequest();
request11.open('GET', requestURL11);
request11.responseType = 'json';
request11.send();
request11.onload = function() {
window.superHeroes11 = request11.response;
populateHeader11(superHeroes11);
}
function populateHeader11(jsonObj) {
window.schedtotal = jsonObj.total;
console.log("populateHeader function has activated");
console.log(jsonObj);
}
ファイルには、次のようになります。
{"total": 3}
それは有効なJSONです。私は、残りのファイル(ここでは含まれていません)の他のすべてのJSON解析で正常に使用したのと同じ正確なメソッドを使用してtotalの値を抽出しようとしています。
populateHeader11が呼び出されると、合計が等しくなるようにschedtotalは変更されません。それは0の元の設定にとどまっています。コンソールログは、起動した関数から戻り、少なくともJSONファイルを返します。
.jsonObj.total
を.jsonObj['total']
に変更しようとしましたが、何も変更されませんでした。
前回私はこれに慣れてきましたが、時にはnullから 'total'を得ることができないというエラーが返されました。現在は、現在の状態では何も返されません。何が起こっている?
'console.log(jsonObj)'は何を表示しますか?コンソールに 'Object'のドロップダウンを表示するのか、' {"total":3} 'を表示していますか? –
'request11.response'の内容をコンソールに出力しようとしましたか?あなたが 'onload'コールバックを設定したのは、リクエストを送信した後に(私はJavaScriptがこのような競合状態になりがちなのかどうかはわかりません)疑わしいと思います。あなたは何らかの種類のWebサーバーを使用していますか? 「デベロッパーコンソール」の「ネットワーク」タブには何か(Chrome/FirefoxにはF12キーを押して開く)がありますか? – yeputons