【问题标题】:getJSON API URL ParametersgetJSON API URL 参数
【发布时间】:2020-05-03 22:49:37
【问题描述】:

我的项目即将完成,我尝试构建 URL 以进行 getJSON 调用,但我的 API URL 格式不正确时出现 404 错误。我看过一些 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>

【问题讨论】:

  • 我注意到一件事:var apikey = '&key=MY_KEY'; 你应该输入你的实际 API 密钥。
  • 感谢@RichardLovell 我删除了我的密钥,以免将其公开。正确的键在实际脚本中。

标签: javascript api getjson


【解决方案1】:

您在$.getJSON 调用中将url 括在引号中。您需要删除引号,以便将其解释为变量,否则将其解释为字符串。

$.getJSON(url, ... )

【讨论】:

  • 谢谢@Pablo 我没有尝试过,但仍然收到加载资源失败:服务器响应状态为 404 () apiwwolatwwolngapikeyformat:1
猜你喜欢
  • 2011-11-26
  • 2021-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-27
  • 2019-01-28
  • 1970-01-01
  • 2018-06-17
相关资源
最近更新 更多