我检查了其他问题,它们有所帮助。
但对我来说,它仍然没有显示出多大的成功:
const ajaxRequest = new XMLHttpRequest();
const handleResponse = function() {
//have we got a response from the server
if (ajaxRequest.readyState === 4) {
//did we find the requested resource?
if (ajaxRequest.status === 200) {
// console.log(ajaxRequest.responseText); //testing file
let data = JSON.parse(ajaxRequest.responseText)
let ul1 = document.querySelectorAll('.ajax')[0];
let ul2 = document.querySelectorAll('.ajaxCheck');
for (let i = 0; i < ul2.length; i++) {
ul2[i].style.display = 'none';
console.log(i);
}
if (document.querySelectorAll('.ajax')[0]) {
ul1.innerHTML = displayOutput(data, false);
} else {
ul2.innerHTML = displayOutput(data, true);
}
//displayOutput_compare(data);
}
}
}
特别是ajaxCheck
类,因为它有超过 1。
我做错了什么?
这是第二类的 HTML,它不会加载任何数据:
<ul class="ajaxCheck">
<li></li>
</ul>
ul2
是一个集合,而不是单个元素。设置innerHTML
时需要循环它,就像设置style
时一样。
if (ul1) {
ul1.innerHTML = displayOutput(data, false);
} else (
let output = displayOutput(data, true);
for (let i = 0; i < ul2.length; i++) {
ul2[i].innerHTML = output;
}
}