Wenn ich die Seite ohne den folgenden JS-Code lade, läuft sie einwandfrei, aber wenn ich das HTML-Element mit DOM erstelle, stellt es eine Serveranforderung unter Verwendung derselben Seiten-URL,
const isHideVariants = document.querySelector("#hidevariants"); const vehiclesList = document.querySelector(".brand-vehicles-list"); let vehicles = <%- JSON.stringify(vehicles) %>; displayVehicles(); function displayVehicles() { clearVehicles(); vehicles.forEach((vehicle) => { const anchorTag = document.createElement("a"); const img = document.createElement("img"); const p = document.createElement("p"); anchorTag.href = `/vehicles/${vehicle._id}`; anchorTag.classList.add("brand-vehicle"); img.src = vehicle.thumbnail; img.alt = "vehicle thumbnail"; p.textContent = vehicle.name; anchorTag.appendChild(img); anchorTag.appendChild(p); vehiclesList.appendChild(anchorTag); }); } function clearVehicles() { while (vehiclesList.firstChild) { vehiclesList.removeChild(vehiclesList.firstChild); } }
Ich habe den Code getestet, als ich den js-DOM-Code auskommentiert habe, und dann hat er keine weitere Serveranfrage gestellt
Dies ist die erste Anfrage
GET /brands/dodge 200 2109.074 ms - 16952
Dies ist die zweite Anfrage, die ausgelöst wird, wenn ich das HTML-DOM-Element erstelle
GET /brands/undefined 200 8297.877 ms - 16781
此 GET 请求是由
标记的
src
属性发送的。并且src
的值为undefined
。这意味着您的代码中的vehicle.thumbnail
是未定义
。查看img标签的src属性是如何执行的?