【发布时间】:2016-06-10 17:03:12
【问题描述】:
您好,我正在使用 javascript 构建我的第一个 Web 应用程序,并使用来自 www.openweathermap.org/ 的 API 获取数据 我已经使用了文档中提到的 API 密钥,但它仍然给出了未经授权的错误。调用函数时是否有任何其他原因导致此错误。提前谢谢你。
var APPID = "my_secret_key";
var temp;
var loc;
var icon;
var wind;
var humidity;
var direction;
function updateByZip(zip){
var url = "http://api.openweathermap.org/data/2.5/weather?" +
"zip = " + zip +
"&APPID =" + APPID ;
sendRequest(url);
}
function sendRequest(url){
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
var data = JSON.parse(xmlhttp.responseText) ;
var weather = {};
weather.wind = data.wind.speed;
weather.direction = data.wind.deg;
weather.loc = data.name;
weather.temp = data.main.temp;
weather.icon = data.weather[0].id;
weather.humidity=data.main.humidity;
update(weather);
}
};
xmlhttp.open("GET", url, true);
xmlhttp.send();
}
【问题讨论】:
-
将该 URL 放在浏览器中就可以了。
sendRequest到底做了什么?也许它错误地发送了POST? -
send request 发送一个接收天气数据的请求。如果你愿意,我可以添加代码。我也用过“GET”
-
我相信您遇到了 CROS 问题。上次我尝试从 OpenWeatherMap 获取数据时它不起作用。 (我找到了这个fiddle,控制台显示CORS error。
标签: javascript api openweathermap