【问题标题】:Easiest way make API call using Javascript + jQuery使用 Javascript + jQuery 进行 API 调用的最简单方法
【发布时间】:2019-05-22 02:16:32
【问题描述】:

我正在尝试使用他们的 API+密钥对 Openweathermap 进行 API 调用。我无法在 Javascript 中使用 $.getJSON 将数据解析为 CSS ID。

这是 jsfiddle:https://jsfiddle.net/n1Lz3vf0/

代码:

var weatherData = "http://api.openweathermap.org/data/2.5/weather? 
q=Endicott,us&appid=API+KEY";

$.getJSON(weatherData, function(data){
var town = data.name;

document.getElementById('town').innerHTML = town;
});

它输出到一个简单的 div 标签

显然,最终结果将涉及更多,我将解析更多数据,但在 jsfiddle 中,它应该简单地输出我的城市名称,但事实并非如此。

【问题讨论】:

  • JSFiddle 链接是 HTTPS,您的代码尝试调用 HTTP 端点。通过 HTTPS 使用 OpenWeatherMap 或通过 HTTP 使用 JSFiddle 都可以(或两者都可以)。
  • 我的朋友,这行得通。谢谢你。你怎么知道这是问题所在?
  • 如果在JSFiddle选项卡中打开控制台,可以看到如下错误:Mixed Content: The page at 'https://jsfiddle.net/' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint. This request has been blocked; the content must be served over HTTPS.

标签: javascript jquery html css json


【解决方案1】:

您在 jsfiddle 页面上出现混合内容错误,因为它是一个 https 网站,并且您尝试在 API 调用中调用 http url。如果您通过 https,则无法使用 http 调用外部 API,请求被阻止。

我用 https 尝试了您的请求,它按预期工作。

【讨论】:

  • 谢谢,就像其他评论所说的那样,这就是问题所在。我把头发扯掉了。
猜你喜欢
  • 2016-12-14
  • 1970-01-01
  • 2011-08-30
  • 2011-09-08
  • 2019-06-11
  • 2014-08-19
  • 1970-01-01
  • 1970-01-01
  • 2017-01-19
相关资源
最近更新 更多