如何将来自API的数据注入DOM [重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将来自API的数据注入DOM [重复]相关的知识,希望对你有一定的参考价值。

我正在尝试通过一个api调用获取一个城市,并希望显示在html页面中,但是在html页面中,我得到了不确定的信息,您可以在这方面帮我吗,我的假设是获取方法不同步,有人可以看一下代码吗?告诉我这是什么错误

<!DOCTYPE html>
<html>

<head>
  <title>Parcel Sandbox</title>
  <meta charset="UTF-8" />
</head>

<body>
  <div id="app"></div>
  <div style="text-align:center">
    <h1>Select a City to Appear in ClickedCity</h1>
  </div>
  <table>
    <tr>
      <th>City</th>
    </tr>
    <tr>
      <td class="city" id="city1"></td>
    </tr>
  </table>
  </div>
  </div>
  <div style="float:right">
    <table>
      <tr>
        <th>ClickedCity</th>
      </tr>
      <tr>
        <td>TBD</td>
      </tr>
    </table>

    <script>
      var city_list = document.getElementById("city1");
      console.log(city_list);

      // city_list.addEventListener("DOMContentLoaded", getData);

      function getData() 
        fetch("https://jsonplaceholder.typicode.com/users")
          .then(res => res.json())
          .then(res => 
            console.log(res[1].address.city);
            return res[1].address.city;
          );
      

      city_list.innerHTML = getData();
    </script>
</body>

</html>

JS代码:

import "./styles.css";

var city_list = document.getElementById("city1");
console.log(city_list);

// city_list.addEventListener("DOMContentLoaded", getData);

function getData() 
  fetch("https://jsonplaceholder.typicode.com/users")
    .then(res => res.json())
    .then(res => 
      console.log(res[1].address.city);
      return res[1].address.city;
    );


city_list.innerHTML = getData();

HTML

<!DOCTYPE html>
<html>

<head>
    <title>Parcel Sandbox</title>
    <meta charset="UTF-8" />
</head>

<body>
    <div id="app"></div>
    <div style="text-align:center">
        <h1 >Select a City to Appear in ClickedCity</h1>
        </div>
        <table>
                <tr>
                    <th>City</th>
                </tr>
                <tr>
                    <td class="city" id="city1"></td>
                </tr>
            </table>
        </div>
    </div>
    <div style="float:right">
        <table>
            <tr>
                <th>ClickedCity</th>
            </tr>
            <tr>
                <td>TBD</td>
            </tr>
        </table>

    <script src="src/"> <!--  javascript file is here-->
    </script>
</body>

</html>

enter image description here

答案

您的问题与是否异步无关。这应该可以帮助您入门。

以上是关于如何将来自API的数据注入DOM [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何将javascript文件注入来自api的html字符串?

使用Vue.JS / Axios和来自第三方API的数据填充DOM

如何从 .map 循环返回以从 API 获取数据 [重复]

数组和适配器不能调用虚空片段

来自活动xml的片段中的findViewById属性不起作用[重复]

实用代码片段将json数据绑定到html元素 (转)