因此,我使用以下外部脚本。
<script type="application/javascript" src="https://api.ipify.org"> </script>
它会以纯文本形式回复客户端IP地址。我尝试使用available JSON响应类型使其正常工作,并且可以通过回调来捕获数据。然而,当我试图只获取纯文本时,我无法弄清楚如何解析这些数据,我只是不断地得到一个“意外的数字”错误。有没有可能在没有回调的情况下检索和存储信息?
发布于 2018-08-01 04:09:04
最简单的方法是将其作为JSONP请求,它提供了一个回调函数。
<script type="text/javascript" src="https://api.ipify.org/?format=jsonp&callback=someName"></script>
当它加载时,它将在窗口范围内调用一个名为someName
的函数,该函数将接收一个具有属性ip
的对象。
当然,还有更好的方法。例如,jQuery的$.ajax
支持JSONP (别名$.getJSON
),并具有成功/失败处理程序、fetch()
等。
发布于 2018-08-01 04:32:51
是的,您可以使用此脚本获取IP
async function getIP() {
try {
const res = await fetch('https://api.ipify.org?format=json');
const jsonObj = (res.json()).then(data => alert(data.ip));
} catch (err) {
console.error(err);
}
}
getIP();
我希望我明白了你的意思并回答了你。
https://stackoverflow.com/questions/51621084
复制相似问题