我有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 視圖中獲取資料。
現在這會導致控制臺出現錯誤:
未捕獲的型別錯誤:無法在 Object.success 在 j 處讀取未定義的屬性(讀取“forEach”)
在 Object.fireWith [作為 resolveWith]
在 x
在 XMLHttpRequest.b
為什么會發生此錯誤,我該如何防止這種情況發生?
uj5u.com熱心網友回復:
使用可選鏈接(?.) 運算子在訪問變數之前檢查變數是否不為空。
改變 :
data.forEach(el => {.....
至 :
data?.forEach(el => {.....
并確保div正確訪問您必須:
改變 :
<div class="quiz-box"></div>
至 :
<div id="quiz-box"></div>
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/528559.html
下一篇:如何在回圈中命令Ajax呼叫
