使用JS调用Weatherbit API获取JSON数据无法读取UV索引求助
问题排查方案
- 核心语法错误:jQuery的异步请求方法正确写法为
$.getJSON,你的代码遗漏了$后的点符号,$getJSON属于未定义方法,会直接触发报错中断执行。 - 数组索引取值错误:Weatherbit 实时天气接口返回的
data字段为长度为1的数组,仅包含单条当前天气数据,数组下标从0开始计数,你使用的data.data[1]访问的是不存在的第二个元素,取值必然为undefined,正确写法为data.data[0].uv。 - 额外排查项:
- 确认页面已提前引入jQuery依赖,避免全局
$变量未定义。 - 确认页面存在
class="UV"的对应DOM元素,选择器匹配失败会导致内容无法写入。 - 可添加日志打印和错误回调定位剩余问题,修改后参考代码如下:
- 确认页面已提前引入jQuery依赖,避免全局
$.getJSON('https://api.weatherbit.io/v2.0/current?lat=(Lat)&lon=(Lon)&key=(Key)', function(data) { // 打印返回数据确认结构 console.log(data); $(".UV").html(data.data[0].uv); }).fail(function(error) { // 打印请求错误信息 console.log('请求异常', error); });
内容的提问来源于stack exchange,提问作者Displayname
相关产品推荐
相关产品推荐

