如何修复Uncaught SyntaxError:意外令牌

时间:2019-07-11 18:59:52

标签: javascript api

解决了!这是添加大括号并删除“;”后的代码。从头开始。然后:

const api = `https://api.darksky.net/forecast/68568119ac38ef741a51540efb8ad8b3/${lat},${long}`;
fetch(api)
.then(data =>{
  return data.json();
})
.then(data =>{
  console.log(data);
});     

1 个答案:

答案 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);