我有ajax功能:
<div class="quiz-box"></div>
...
const url = window.location.href
const quizBox = document.getElementById('quiz-box')
let data
$.ajax({
type: 'GET',
url: `${url}data/`,
success: function(response){
// console.log(response)
data = response.data
data.forEach(el => {
for (const [question, answers] of Object.entries(el)){
quizBox.innerHTML = `
<b>${question}</b>
`
}
});
},
error: function(error){
console.log(error)
},
})
从django视图中获取数据。
现在,这将导致控制台中的一个错误:
Uncaught :无法读取Object.success at j的未定义属性(读取'forEach')
at Object.fireWith as resolveWith
at x
at XMLHttpRequest.b
为什么会发生这个错误,我如何防止它发生呢?
发布于 2022-11-06 13:30:07
使用可选链接(?)运算符在访问变量之前检查变量是否为null。
变更:
data.forEach(el => {.....
to :
data?.forEach(el => {.....
并确保正确访问div
,您必须:
变更:
<div class="quiz-box"></div>
to :
<div id="quiz-box"></div>
https://stackoverflow.com/questions/74338435
复制相似问题