解决了!这是添加大括号并删除“;”后的代码。从头开始。然后:
const api = `https://api.darksky.net/forecast/68568119ac38ef741a51540efb8ad8b3/${lat},${long}`;
fetch(api)
.then(data =>{
return data.json();
})
.then(data =>{
console.log(data);
});
答案 0 :(得分:1)
您的代码中出现了很多错误。首先,您在.then()
承诺中添加了不必要的分号。
fetch(api)
.then(data =>{
return data.json();
}); // UNNECESSARY SEMICOLON
.then(data =>{
console.log(data);
});
此外,由于单引号和错误的语法,您没有为字符串提供正确的值:
const api = `api.openweathermap.org/data/2.5/weather?${lat},${lon}`;
// ^--GRAVE ACCENT USE CURLY BRACES ------^
最后,我敢打赌api.openweathermap.org
不是您服务器中的目录。在网址的开头使用//
,以便JavaScript可以理解您所提供的是完整的网址:
const api = `//api.openweathermap.org/data/2.5/weather?${lat},${lon}`;
// HERE ---^
在解释了所有内容之后,这是您的代码但可以正常工作的结果:
function getWeather(lat, lon) {
const api = `//api.openweathermap.org/data/2.5/weather?${lat},${lon}`;
fetch(api)
.then(data => {
return data.json();
})
.then(data => {
console.log(data);
});
}
getWeather(0,0);