首页 > web前端 > js教程 > 正文

如何使用 HMPL.js (fetch) 从 API 获取 HTML 并在 DOM 中显示?

王林
发布: 2024-07-22 21:14:03
原创
500 人浏览过

How to GET HTML from API and Display In DOM using HMPL.js (fetch)?

您好!在这篇文章中我想谈谈如何从 API 获取 HTML 并使用 HMPL.js 在 DOM 中显示。

此方法适用于任何 api,因为此模块基于 Fetch API,几乎完全复制了普通解决方案的工作。

假设我们采用返回 HTML 响应的路由:

API 路由 - http://localhost:8000/api/test

<span>123</span>
登录后复制

并且,假设,ID 为“wrapper”的 div 中有一个任务来显示此 HTML。为此,您可以通过 script 标签连接 hmpl 模块并编写以下代码:

<div id="wrapper"></div>
<script src="https://unpkg.com/hmpl-js/dist/hmpl.min.js"></script>
<script>
  const templateFn = hmpl.compile(
    `<div>
       { 
         {
           "src":"http://localhost:8000/api/test" 
         } 
       }
    </div>`
  );

  const wrapper = document.getElementById("wrapper");

  const obj = templateFn();

  wrapper.appendChild(obj.response);
</script>
登录后复制

在这段代码中,借助 hmpl 标记,您可以生成可以在 HTML 中显示的 DOM 节点。值得考虑的是,该节点将在 API 请求过程中自动更新。

如果需要添加请求指示器,可以稍微扩展现有代码:

<div id="wrapper"></div>
<script src="https://unpkg.com/hmpl-js/dist/hmpl.min.js"></script>
<script>
  const templateFn = hmpl.compile(
    `<div>
       { 
         {
           "src":"http://localhost:8000/api/test",
           "on": {
              "trigger": "loading",
              "content": "<div>Loading...</div>",
           } 
         } 
       }
    </div>`
  );

  const wrapper = document.getElementById("wrapper");

  const obj = templateFn();

  wrapper.appendChild(obj.response);
</script>
登录后复制

在本例中,当请求发送,但 API 的响应尚未到达时,该指标将被触发。

以上是如何使用 HMPL.js (fetch) 从 API 获取 HTML 并在 DOM 中显示?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!