浏览器将经度变量读取为未定义

Posted

技术标签:

【中文标题】浏览器将经度变量读取为未定义【英文标题】:Browser reads longitude variable as undefined 【发布时间】:2019-06-05 18:14:04 【问题描述】:

我在 api 的末尾有变量 'lat' 和 'long'。但是,浏览器控制台仅提供来自 'lat' 变量的信息。它将“长”变量记录为未定义。

window.addEventListener('load', ()=> 
  let long;
  let lat;

  if (navigator.geolocation) 
    navigator.geolocation.getCurrentPosition(position => 
      lat = position.coords.latitude;
      long = position.coords.longitutde;



      const proxy = "https://cors-anywhere.herokuapp.com/";
      const api = `$proxyhttps://api.darksky.net/forecast/8c09bdf7710c871187bd30800c10c0aa/$lat,$long`;

    fetch(api)
      .then(response => 
        return response.json();
      )
      .then(data => 
        console.log(data);
      );

    );
  
);

它应该将我当前的坐标记录到控制台。但是,我不断收到此错误消息:

script.js:15 GET https://cors-anywhere.herokuapp.com/https://api.darksky.net/forecast/8c09bdf7710c871187bd30800c10c0aa/38.2050304,undefined 400(错误请求)

38.2050304 是我的纬度。

【问题讨论】:

拼写错误position.coords.longitutde;。应该是position.coords.longitude 【参考方案1】:

position.coords.longitutde; 中有拼写错误。

long = position.coords.longitude;

【讨论】:

以上是关于浏览器将经度变量读取为未定义的主要内容,如果未能解决你的问题,请参考以下文章

在我取消选中收音机并将所有变量设置为未定义后,我的弹出元素将再次出现

当尝试将变量传递给另一个模块时,将代码拆分到Nodejs中的自定义模块时,它将被定义为未定义

Facebook 如何在其应用程序中为未保存的更改显示自定义模式窗口?

由于某些 javascript 提升,变量显示为未定义

Chrome Inspector 中的 Javascript 调试:变量在手表和控制台中显示为未定义,但可以在悬停时检查

无法通过 DiscordJS 中的不同范围传递变量