Как вариант можно использовать
Fetch API.
Простой пример на обычном JS:
const button = document.querySelector(".button");
const container = document.querySelector(".container");
button.addEventListener("click", async () => {
const response = await fetch("./path/sample.html");
const result = await response.text();
const parser = new DOMParser();
const DOM = parser.parseFromString(result, "text/html");
const targetContent = DOM.querySelector("body").innerHTML;
container.insertAdjacentHTML("afterbegin", targetContent);
});
Думаю большого труда не составит переделать под свои нужды.