Ошибка запроса Ajax

Я пытаюсь сделать запрос AJAX к api, который предоставляет данные о погоде, по какой-то причине запрос продолжает отказывать. Я пытался использовать a .fail () callback для получения сообщения об ошибке; функция получает вызов, но он дает мне только пустые строки для работы.

Это код, который я использую

navigator.geolocation.getCurrentPosition(function(position){

long = position.coords.longitude;
lat = position.coords.latitude;
console.log(long);
console.log(lat);

url = "http://api.openweathermap.org/data/2.5/weather?lat=" + encodeURIComponent(lat) + "&lon=" + encodeURIComponent(long) + "&APPID=" + encodeURIComponent(apikey);

console.log(url);

$.getJSON(url, function(response){
console.log("Success");
console.log(response);
}).fail(function(obj, stat, err){ console.log(err)});

});

Url, который я получаю на консоли, полностью соответствует стандартам api, вплоть до’ http ‘ в начале. Я убедился, что долготы и широты тоже правильно подобраны. Любое понимание было бы очень ценно.

1 ответ

  1. Работает отлично проверить этот пример. Я буду изменять свой api, поэтому убедитесь, что вы проверяете его, прежде чем я изменю его.

    Попробуйте вставить результат console.log(url);в браузер и проверить, если вы получаете желаемый результат. Потому что я думаю, что есть проблема в вашем API

    function func(){
    
    lat = 37;
    lon = 53;
    apikey = "YOUR API";
    
    url = "http://api.openweathermap.org/data/2.5/weather?lat=" + encodeURIComponent(lat) + "&lon=" + encodeURIComponent(lon) + "&APPID=" + encodeURIComponent(apikey);
    
    console.log(url);
    
    $.getJSON(url, function(response){
    console.log("Success");
    console.log(response);
    }).fail(function(obj, stat, err){ console.log(err)});
      
    }
    
    func();
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>