无法获得天气API

时间:2016-12-04 17:26:55

标签: javascript jquery json

我正在尝试从openweathermap.org获取JSON数据,但$ .getJSON不起作用。 如果我从浏览器调用API,它会显示JSON数据,但它在JS文件中不起作用。

$(document).ready(function(){
$("#button").click(function(){
    navigator.geolocation.getCurrentPosition(location,error,{timeout:10000});       
});
function location(pos){
    $("#crd").html("Location: " + pos.coords.latitude + " , " + pos.coords.longitude);

    $.getJSON("api.openweathermap.org/data/2.5/weather?lat="+pos.coords.latitude+"&lon="+pos.coords.longitude+"&APPID=key", function(json){
        $("#weather").html(JSON.stringify(json));
    });

}
function error(err){
    var errorCode = "";
    switch(err.code) {
    case err.PERMISSION_DENIED:
        errorCode = "User denied the request for Geolocation.";
        break;
    case err.POSITION_UNAVAILABLE:
        errorCode = "Location information is unavailable.";
        break;
    case err.TIMEOUT:
        errorCode = "The request to get user location timed out.";
        break;
    case err.UNKNOWN_ERROR:
        errorCode = "An unknown error occurred.";
        break;      
    }
    $("#crd").html("Error " + err.code + ": " + errorCode); 
}   
});

还有一个问题。当我添加http://时,它在localhost上工作,但它在codepen中不起作用。有什么想法吗?

我找到了解决方案,在codepen中你需要使用像https://cors-anywhere.herokuapp.com/

这样的跨源

1 个答案:

答案 0 :(得分:1)

你错过了这个:Jcc尝试这个:

http://