当我加载没有以下 js 代码的页面时,它运行得很好,但是当我使用 DOM 创建 html 元素时,它会如何使用相同的页面 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);
}
}
当我注释 js DOM 代码时,我测试了代码,然后它没有发出任何其他服务器请求
这是第一个请求
GET /brands/dodge 200 2109.074 ms - 16952
这是我创建 html DOM 元素时触发的第二个请求
GET /brands/undefined 200 8297.877 ms - 16781
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
此 GET 请求是由
![]()
标记的src属性发送的。并且src的值为undefined。这意味着您的代码中的vehicle.thumbnail是未定义。查看img标签的src属性是如何执行的?