index.html 933 B

1234567891011121314151617181920212223242526272829
  1. <!-- templates/index.html -->
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>HTMX JSON List</title>
  8. <script src="https://unpkg.com/[email protected]"></script>
  9. </head>
  10. <body>
  11. <h1>Item List</h1>
  12. <button hx-get="/api/clients" hx-trigger="click" hx-target="#item-list" hx-swap="innerHTML">
  13. Load Items
  14. </button>
  15. <ul id="item-list">
  16. <!-- Items will be populated here -->
  17. </ul>
  18. <script>
  19. document.addEventListener("htmx:afterRequest", function(event) {
  20. if (event.detail.path === "/api/clients") {
  21. const data = event.detail.xhr.response;
  22. const itemList = document.getElementById("item-list");
  23. itemList.innerHTML = data.map(item => `<li>${item.summary}</li>`).join("");
  24. }
  25. });
  26. </script>
  27. </body>
  28. </html>