##前提・実現したいこと
APIから取得したJSONデータをDOM操作に利用しようとしているのですが、エラーが出てしまいます。
MDNの『JSONデータの操作』( https://developer.mozilla.org/ja/docs/Learn/JavaScript/Objects/JSON )を参考にして、Data変数に、JSON を元にに生成された JavaScript オブジェクトを格納し、DOM操作を行う関数に引数として渡したのですが、うまくいきませんでした。
##当該のソースコード
JavaScript
1const url = 取得予定のJSONがあるURL 2let currentNum = 0; //JSONのresultsプロパティの何番目を取得するか 3 4const Data = fetch(url) 5 .then((response) => { 6 response.json() 7 .then((data)=>{ 8 data.results 9 }) 10 .catch((e)=>{ 11 console.log(e) 12 }) 13 }) 14 15console.log(Data) 16 17setQuiz(Data); 18}) 19 20function setQuiz(jsonObj){ 21 const Quiz = jsonObj[currentNum]; 22 23 document.getElementById('questionNumber').textContent = (currentNum+1)+"番目" 24 document.getElementById('question').textContent = Quiz.question //APIからとってきた質問 25 }) 26} 27
##問題点
・const Quiz = jsonObj[currentNum];
のところで、
"Cannot read property '0' of undefined"というエラーが出てしまう
・Quiz.question
のところで、
"Cannot read property 'question' of undefined"というエラーが出てしまう
##試したこと
・console.log(Data)
のところで、
"Promise{(<pending>)}"
とコンソールに表示されているため、JSONデータの取得自体はできているようです。
間違っている点、改善方法を指摘していただきたいです。
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/19 10:10