You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法将经纬度传递至Weatherbit API,出现ReferenceError: data未定义

排查提示
  • 先精准定位报错代码行:找到后端处理getWeatherData请求的那段代码,看报错行是不是误把req.query写成了data.query,或者压根没声明data变量就直接用了——比如有没有漏写const data = req.query这类赋值语句?
  • 检查前端传参逻辑:确认前端调用getWeatherData时,是不是把lat、lng通过URL查询参数传的?如果是POST请求把参数放在请求体里,后端用req.query肯定拿不到,得换成req.body;另外也检查下前端传参的变量名是不是和后端一致,别把lat写成latitude这类。
  • 验证变量作用域:看报错行附近的data变量是在哪声明的,是不是在异步回调、if分支这类局部作用域里声明的,导致外部访问不到?比如在fetch的回调里声明了data,但回调外面就去用了,这肯定会报错。
  • 加日志调试:在报错代码行前加console.log(req.query),看看后端实际接收到的参数是什么,有没有lat和lng;再打印下data变量(如果有的话),确认它是不是被正确初始化了。
  • 检查异步流程:如果从Geonames拿数据和调用Weatherbit是异步操作,确认是不是在拿到Geonames的lat、lng后才调用的getWeatherData?比如有没有用对async/await或者回调,别在数据还没返回就把undefined的参数传过去了,后续处理自然会出问题。

内容的提问来源于stack exchange,提问作者AnnaG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 08:42:07