Параметры URL API getJSON

Я близок к завершению своего проекта и пытаюсь создать URL-адрес для вызова getJSON, но получаю ошибку 404, в которой мой URL-адрес API не форматируется должным образом. Я посмотрел некоторые видео на YouTube, искал этот сайт и подумал, что он написан правильно, но я не могу определить, что я сделал неправильно.

Вот мой сценарий

$(() => {
  var api = 'https://api.worldweatheronline.com/premium/v1/marine.ashx?&q='
  var wwolat = 'document.querySelector("#lat"),'
  var wwolng = 'document.querySelector("#lng")'
  var apikey = '&key=MY_KEY'
  var format = '&format'
  var url = api + wwolat + wwolng + apikey + format;

  $.getJSON('url', function(data) {
    console.log(data);

    var date24 = data.data.weather[1].date;
    var air24 = data.data.weather[1].hourly[4].tempF;
    var wnsd24 = data.data.weather[1].hourly[4].windspeedMiles;
    var wndr24 = data.data.weather[1].hourly[4].winddir16Point;
    var height1 = data.data.weather[1].hourly[4].swellHeight_ft;
    var wvht24 = Math.floor(height1);
    var wvdr24 = data.data.weather[1].hourly[4].swellDir16Point;
    var per1 = data.data.weather[1].hourly[4].swellPeriod_secs;
    var wvpd24 = Math.floor(per1);
    var cloud24 = data.data.weather[1].hourly[4].cloudcover;

    $(".date24").append(date24);
    $(".air24").append(air24);
    $(".wnsd24").append(wnsd24);
    $(".wndr24").append(wndr24);
    $(".wvht24").append(wvht24);
    $(".wvdr24").append(wvdr24);
    $(".wvpd24").append(wvpd24);
    $(".cloud24").append(cloud24);

    var date48 = data.data.weather[2].date;
    var air48 = data.data.weather[2].hourly[4].tempF;
    var wnsd48 = data.data.weather[2].hourly[4].windspeedMiles;
    var wndr48 = data.data.weather[2].hourly[4].winddir16Point;
    var height2 = data.data.weather[2].hourly[4].swellHeight_ft
    var wvht48 = Math.floor(height2);
    var wvdr48 = data.data.weather[2].hourly[4].swellDir16Point;
    var per2 = data.data.weather[2].hourly[4].swellPeriod_secs
    var wvpd48 = Math.floor(per2);
    var cloud48 = data.data.weather[2].hourly[4].cloudcover;

    $(".date48").append(date48);
    $(".air48").append(air48);
    $(".wnsd48").append(wnsd48);
    $(".wndr48").append(wndr48);
    $(".wvht48").append(wvht48);
    $(".wvdr48").append(wvdr48);
    $(".wvpd48").append(wvpd48);
    $(".cloud48").append(cloud48);

  });
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

Всего 1 ответ


Ваш url заключен в кавычки в вашем вызове $.getJSON . Вам необходимо удалить кавычки, чтобы их можно было интерпретировать как переменную, иначе это будет интерпретироваться как строка.

$.getJSON(url, ... )