Javascript 如何使用navigator.geolocation获取纬度和经度来调用天气API?

Javascript 如何使用navigator.geolocation获取纬度和经度来调用天气API?,javascript,ajax,api,Javascript,Ajax,Api,我正在尝试使用和构建一个纯JS天气应用程序。我对JavaScript非常陌生,但非常愿意学习。我通过MDN网站上提供的脚本获得了用户的位置。你可以看到,我知道JS代码应该在一个单独的文件中——当一切顺利运行时,我会更改它 我的问题是:如何使用用户特定的纬度和经度调用Dark Sky API?我不知道如何编写XMLHttpRequest 这里有一个“请原谅,请提前尝试”: function getWeather() { var xhr = new XMLHttpRequest();

我正在尝试使用和构建一个纯JS天气应用程序。我对JavaScript非常陌生,但非常愿意学习。我通过MDN网站上提供的脚本获得了用户的位置。你可以看到,我知道JS代码应该在一个单独的文件中——当一切顺利运行时,我会更改它

我的问题是:如何使用用户特定的纬度和经度调用Dark Sky API?我不知道如何编写XMLHttpRequest

这里有一个“请原谅,请提前尝试”:

function getWeather() {
    var xhr = new XMLHttpRequest();
    xhr.open("GET","https://api.forecast.io/forecast/30e55c9dada04d2fd66fb43429ff2c51/" + lat + "," + long + ,false);
    output.innerHTML = "<p>"xhr"</p>"
  }
xhr.send();
我想我必须把getWeather函数放在getPosition函数中,因为我感兴趣的两个变量lat,long都是本地定义的。当我在脚本中添加getWeather函数时,getPosition不再运行,我不知道如何检查getWeather函数调用是否成功


谢谢你的帮助

为了简化调试过程,您需要学习使用浏览器工具在浏览器中查看网页。如果按F12键,大多数浏览器将显示开发人员工具

您要查找的数据位于xhr变量中。根据响应的格式,您可能有xhr.responseText、xhr.responseXml等,甚至可能有错误代码

如果要临时将xhr对象公开到全局范围以便于调试,只需将var xhr=替换为window.xhr=

您应该检查xhr对象并熟悉它和可用的开发人员工具

注意:您的请求是同步的。这被认为是不好的做法,因为它是阻塞的,可能会导致糟糕的用户体验

祝你好运

你看过这个帖子吗?