Javascript 为什么console.log在这种情况下不起作用?OpenWeatherMapAPI 我处于天气应用程序项目的中间,不能理解为什么控制台。登录20行不在下面工作:
Javascript 为什么console.log在这种情况下不起作用?OpenWeatherMapAPI 我处于天气应用程序项目的中间,不能理解为什么控制台。登录20行不在下面工作:,javascript,jquery,json,openweathermap,Javascript,Jquery,Json,Openweathermap,$(文档).ready(函数(){ var long; var lat; 无功温度; if(导航器.地理位置){ navigator.geolocation.getCurrentPosition(函数(位置){ long=position.coords.longitude; 纬度=位置坐标纬度; var api= “api.openweathermap.org/data/2.5/weather?lat=”+ 拉特+ “&lon=”+ 长的+ “&appid=xxxxxxxxxxxxxxxxxxx
$(文档).ready(函数(){
var long;
var lat;
无功温度;
if(导航器.地理位置){
navigator.geolocation.getCurrentPosition(函数(位置){
long=position.coords.longitude;
纬度=位置坐标纬度;
var api=
“api.openweathermap.org/data/2.5/weather?lat=”+
拉特+
“&lon=”+
长的+
“&appid=xxxxxxxxxxxxxxxxxxxx”;
//控制台日志(api);
$(“#数据”).html(“纬度:+lat+”
经度:+long);
$.getJSON(api,函数(json){
var kelvin=数据主温度;
控制台日志(开尔文);
});
});
}
});代码>
正文{
高度:100vh;
位置:相对位置;
}
.集装箱{
保证金:自动;
文本对齐:居中;
填充:20px;
}
天气应用程序
位置
温度
度
天气图标
这不是您调用$.getJSON的方式。它甚至都不接近
第一个参数是URL,您提供的字符串不是URL,因为URL以协议开头,如“https://”
第二个参数是数据,而不是函数,这是您提供的
第三个参数是成功回调的位置
如果取消引用失败,首先要打印出来。还要添加一个失败处理程序,看看请求是否成功。您的回调将json
作为参数,但您正在访问data.main.temp
。为了清楚控制台中的变量,请打印其他内容以及度数。如果您这样做:console.log(“开尔文:+Kelvin”)代码>它会告诉您是否正在打印,但同时会通知您数据错误?同样,您应该能够在AppPeriate选项卡中查看网络请求的结果,以查看它是否正确获取数据。请尝试使用http://
@fallereneaper cleaner syntaxconsole.log(“开尔文:,开尔文”)启动url
将为您添加空格,如果kelvin
是对象
或数组
它将正确打印它们,而不是[object object]
FWIW。第二个和第三个参数都是可选的-在没有数据的情况下传递回调函数是可以的。数据参数是可选的,你可以通过第二次回调,很好:@Bergi——如果你可以检查,那么一个不是以协议开头的字符串是否会被附加到当前的BASE_URL上,或者什么?@Malvolio我相信它被解释为一个相对路径,是的,但也没有检查。但这绝对不是犹太教。