我有一个提供IP地址地理位置的代码:
// set endpoint and your access key
var ip = '134.201.250.155';
var access_key = '771d15ae7a7e93262786cc48009bac80';
console.log('http://api.ipstack.com/' + ip + '?access_key=' + access_key);
// get the API result via jQuery.ajax
jQuery.ajax({
url: 'http://api.ipstack.com/' + ip + '?access_key=' + access_key,
dataType: 'jsonp',
success: function(json) {
console.log(json);
// output the "capital" object inside "location"
console.log(json.location.capital);
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
URL为:http://api.ipstack.com/134.201.250.155?access_key=771d15ae7a7e93262786cc48009bac80
它在浏览器中运行良好,并以JSON格式提供输出。但是警报不会在代码中执行。我不知道为什么。
请注意,该服务是免费的,而access_key对所有用户都是免费的,因此没有安全问题。
注意:我放弃并使用了另一项服务:https://ipapi.co/json/此URL正常工作,并且在控制台和代码中均给我正确的结果。谢谢大家的支持。
答案 0 :(得分:1)
您必须使用https api.ipstack端点,因为您的站点是https,并且browser security不允许您在https网站上使用http调用。
我尝试对ipstack进行https调用,但您的订阅不支持。
您必须pay。
答案 1 :(得分:1)
实际上ajax调用失败,您可以使用.fail()
错误处理程序进行检查:https://jsfiddle.net/Lf6v7xcp/