【问题标题】:Display temp from weather API [duplicate]从天气 API 显示温度 [重复]
【发布时间】:2021-06-02 10:31:40
【问题描述】:

我需要识别并修复错误。 我在这里缺少什么,为什么?温度不显示。

<script type="text/javascript">
  $.ajax({
    url: 'https://api.weather.gov/gridpoints/EWX/155,90/forecast/hourly'
  }).done(function(res) {
    var temp = res.properties.periods[0].temperature;
  });
  document.getelementbyid('temperature').innerHTML = temp
</script>
<p>
  The temperature is <span id="temperature"></span>F.
</p>

【问题讨论】:

  • 错误是什么?
  • getelementbyid 可能对大写字母不小心:正确的形式是 document.getElementById('temprature')
  • 我需要在这里显示温度。

    温度为 F。

  • 什么给了你console.log(temp)
  • 您可以将document.getelementbyid('temperature').innerHTML = temp 移动到 done 回调中。

标签: javascript html json ajax api


【解决方案1】:

这里的问题是双重的。首先是有一个范围界定问题,试图将“临时”带到它准备就绪的时间之外。这仅在.done() 调用中设置。

发现的第二个问题是document.getelementbyid 应该是document.getElementById() 根据规范https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementById

<script type="text/javascript">
$(function() {
  $.ajax({
    url: 'https://api.weather.gov/gridpoints/EWX/155,90/forecast/hourly'
  }).done(function(res) {
      document.getElementById('temperature').innerHTML = res.properties.periods[0].temperature;
  });
});
</script>
<p>
    The temperature is <span id="temperature"></span>F.
</p>

【讨论】:

    猜你喜欢
    • 2018-08-31
    • 1970-01-01
    • 2021-11-21
    • 2013-02-05
    • 1970-01-01
    • 2016-07-16
    • 1970-01-01
    • 2017-03-06
    • 1970-01-01
    相关资源
    最近更新 更多