javascript - API javascript不会返回结果

标签 javascript jquery json ajax

根据@rkosegi获得的帮助,我尝试通过js.fiddle运行我的页面和javascript进行测试,但无法在测试页面上显示任何结果。当我在 MS Edge 中运行页面检查时,没有收到任何错误。

我检查并仔细检查,但找不到阻止数据显示的错误。我缺少什么?

$.getJSON("https://<username>:<password>@api.meteomatics.com/todayT05:00Z--today+2DT05:00Z:PT24H/wind_speed_10m:kmh/40.014994,-73.811646/json",

  function(data) {
    console.log(data);

    var mtwnsd24 = data.data[0].coordinates[0].dates[1].value;

    $(".mtwnsd24").append(mtwnsd24);
  });
<head>
  <meta http-equiv="X-UA-Compatible" content="IE=Edge" />

  <meta charset="utf-8" />
  <title>API TEST</title>
  <script src="https://code.jquery.com/jquery-3.4.1.js" integrity="sha256- 
      WpOohJOqMqqyKL9FccASB9O0KwACQJpFTUBLTYOVvVU=" crossorigin="anonymous"></script>

  <script src="meteomatics.js"></script>


</head>

<body>

  <p class="mtwnsd24"></p>

</body>

最佳答案

API 工作正常,但是您无法像您尝试那样通过 URL 传递身份验证,而是 set the auth via headers 。使用fetch for example看起来像:

var headers = new Headers();

headers.append('Authorization', 'Basic ' + btoa(username + ':' + password));
fetch("https://api.meteomatics.com/todayT05:00Z--today+2DT05:00Z:PT24H/wind_speed_10m:kmh/40.014994,-73.811646/json", {headers: headers})

正如其他人提到的,存在 CORS 问题,因此您需要从服务器/代理请求 API。我通过 Postman 进行了尝试,并在注册后成功获得了 API 的响应。

关于javascript - API javascript不会返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59595110/

相关文章:

javascript - 谷歌图表在 php 中没有显示正确的行为

javascript - 如何将 javascript 表达式的输出添加到我的 CSS?

javascript - Object.create 中的对象属性值是常量吗?

jquery - 如何将 AJAX 查询的结果存储在预先声明的变量中?

jquery - 单击 <a href> 链接时如何启动 jquery 对话框

json - MongoDB ObjectId的Jackson JSON反序列化

javascript - 格式化来自 firestore 的 JSON 数据

python - 在多个数组中打印值会出现困惑

javascript - 使用 socket.io 在 Node.js 上运行 server.js 文件时出现问题

javascript - 在 Javascript 中基于滚动显示/隐藏图像