Ipstack 响应是“未定义的”,文档没有解释为啥?
Posted
技术标签:
【中文标题】Ipstack 响应是“未定义的”,文档没有解释为啥?【英文标题】:Ipstack Responses are 'undefined' and the documentation does not explain why?Ipstack 响应是“未定义的”,文档没有解释为什么? 【发布时间】:2019-02-03 19:22:05 【问题描述】:我已经使用ipstack.com 完成了设置ip-to-geolocation 的所有步骤,并通读了documentation。但是对象值在我的浏览器控制台中返回为“未定义”。代码是这样的:
var ip = '188.124.3.1';
var access_key = 'secret';
$.ajax(
url: 'https://api.ipstack.com/' + ip + '?access_key=' + access_key,
dataType: 'jsonp',
success: function(json)
var city = json.city;
var zip = json.zip;
var latitude = json.latitude;
var longitute = json.longitute;
console.log(city + ' ' + zip + ' ' + latitude + ' ' + longitute);
console.log('success!');
//the code reaches this stage, but returns as 'undefined' for each value above
//execute a second ajax function to insert the values into a database.
$.ajax(
type: "post",
url: "insert_geolocation.php",
data:
'zip': zip,
'lat': latitude,
'lng': longitute
,
success: function (data)
// it's successful, do nothing else.
// the code also reaches this stage, but the database gets a row with NULL and 0 as values...So the response from the API is returning undefined, for an unknown reason.
,
);
,
error: function(html, data)
console.log('Error!');
console.log(data);
);
我正在使用 jQuery 和文档中的 JSON 输出,因为我并不真正了解 CURL。谁能告诉我为什么会这样?
【问题讨论】:
【参考方案1】:解决方案是因为我使用的是免费订阅计划,并且不提供通过“ssl”的服务。只需像这样在success函数中打印json:console.log(json)
,然后查看它给您带来的错误。
【讨论】:
我建议查看Ipregistry。它快速、可靠且价格低廉。支持 HTTPs 以及所有功能。我们不会要求更多免费的功能!您从 100,000 次免费查找开始(免责声明:我运行该服务)。以上是关于Ipstack 响应是“未定义的”,文档没有解释为啥?的主要内容,如果未能解决你的问题,请参考以下文章
资源解释为“其他”,但以未定义的 MIME 类型传输。 IE 错误(Asp.net 网站)
如何从 Java 中的 RESTFul 服务向 Ipstack API 请求 GET