Spring Boot 2.6.2
Java 11
Thymeleaf
My goal is to load navbar.html through javascript when categoryTest.html is opened.
First of all, I add this code to categoryTest.html
<nav class="navbar" includeHTML="navbar.html">
</nav>
And there is the function I wrote
function includeHTML() {
var z, i, elmnt, file, xhttp;
z = document.getElementsByTagName("*");
for (i = 0; i < z.length; i++) {
elmnt = z[i];
file = elmnt.getAttribute("includeHTML");
if (file) {
xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4) {
if (this.status == 200) {elmnt.innerHTML = this.responseText;}
if (this.status == 404) {elmnt.innerHTML = "Page not found.";}
}
}
xhttp.open("GET", file, true);
xhttp.send();
return;
}
}
}
Whenever I start the server and see the result, xhttp.send() is the problem.
But once I add this method to my controller, it works well.
@GetMapping("/navbar.html")
public ModelAndView navbar(){
ModelAndView modelAndView = new ModelAndView("navbar");
return modelAndView;
}
Idk why this method is required for this process.