【问题标题】:Accessing JSON data through API with js用js通过API访问JSON数据
【发布时间】:2021-12-31 23:09:19
【问题描述】:

为什么!为什么这不起作用。我正在使用weatherbit api,并试图简单地获取紫外线指数。请注意,在浏览器中,正确的链接会显示所有信息,但我无法通过 js 使其工作,将其放入 div。 出于隐私考虑,我将实际请求数据替换为 (nameOfData),我向您保证,特定参数没有问题。

$getJSON('https://api.weatherbit.io/v2.0/current?lat=(Lat)&lon=(Lon)&key=(Key)', function(data) {
    // JSON result in `data` variable
    $(".UV").html(data.data[1].uv);
});

请帮忙。

【问题讨论】:

  • $getJSON 应该有一个点 $.getJSON。您还可以使用 .fail 方法来获取任何错误 - 请参阅文档:api.jquery.com/jquery.getjson -- 如果没有更多信息,无法为您提供更多帮助
  • 就像 Jamiec 所说,如果 $.getJSON 不能解决您的问题,我们需要更多代码来处理,仅向我们显示调用不会让我们得到任何帮助。
  • 这个功能只有js代码,还不够?

标签: javascript json web


【解决方案1】:

它失败了,因为您需要一个 API 密钥。在浏览器的地址栏中使用 URL 没有这个限制。

在这种情况下,有时一种解决方法是在服务器上使用代理。您的代码查询服务器,服务器模仿浏览器。这取决于您的网络服务。

【讨论】:

  • 我确实有一个 url 键,就像我说的那样。无论如何,在 url 中,如果没有密钥,链接将无法工作。
  • 如果它对您有用,请发布 data.data[1].uv 返回的内容。并将.fail(e=>console.error(e)) 也添加到您的代码中。
【解决方案2】:

不知何故,我让它与异步一起工作。


async function getData(){
let response = await fetch(weatherbitApi);
let data = await response.json()
return data;
}
getData().then (data =>
console.log(data.data[0]));

【讨论】:

    猜你喜欢
    • 2014-11-24
    • 1970-01-01
    • 1970-01-01
    • 2017-08-04
    • 1970-01-01
    • 2014-01-08
    • 1970-01-01
    • 2018-12-18
    • 2014-09-07
    相关资源
    最近更新 更多