JavaScript/jQuery: 在 CodePen 中设置 IP 地理位置 API
JavaScript/jQuery: 在 CodePen 中设置 IP 地理位置 API
我对使用API非常陌生,尝试向IP地理位置API发送GET请求时遇到了困难。我不确定问题是出在我的代码上还是与CodePen有关(很可能是我的代码的问题)。
我直接从IP地理位置API页面上的示例中复制了JavaScript代码。在看到它运行后,我打算进行修改,但是我根本无法让它工作。我尝试修改URL,包括使用了“http://”和“https://”。
JavaScript:
$(document).ready(function() {
$.getJSON("http://ip-api.com/json/?callback=?", function(data) {
var table_body = "";
$.each(data, function(k, v) {
table_body += "
";
});
$("#GeoResults").html(table_body);
});
});
HTML:
天气
这里是城市
我的CodePen链接:https://codepen.io/mattr8/pen/yXEMRM
我尝试使用的API链接:http://ip-api.com/docs/api:json
CodePen不兼容ip-api.com是因为https的原因。由于CodePen是通过https提供服务的,所以它会阻止任何不是https的请求。如果你访问http://ip-api.com/json/?callback=,你会看到你想要获取的信息。如果你访问https://ip-api.com/json/?callback=,你会收到一个错误。
他们提供的jsbin示例没有使用https,所以它可以正常工作。
所以为了解决你的问题,你需要在一个服务或者你自己的机器上创建一个使用http而不是https的示例。