我正在jQuery Mobile和PhoneGap为iPhone和Android工作!!
在我的应用程序中,我需要查找移动设备的IP地址和POST到服务器,以便从服务器获取居住和货币详细信息的详细信息(以JSON格式)。
我创建了一些代码;但它包含一个外部链接 http://jsonip.appspot.com/?asp.net ,其代码如下所示:
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript" language="javascript">
function myIP() {
if (window.XMLHttpRequest)
xmlhttp = new XMLHttpRequest();
else
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("GET","http://jsonip.appspot.com/?asp.net",false);
xmlhttp.send();
hostipInfo = xmlhttp.responseText;
obj = JSON.parse(hostipInfo);
document.getElementById("IP").value = obj.ip;
document.getElementById("ADDRESS").value = obj.address;
}
</script>
</head>
<body onload="myIP()">
IP: <input type="text" id="IP" name="IP" />
ADDRESS: <input type="text" id="ADDRESS" name="ADDRESS" />
</body>
</html>
但我正在寻找一种不使用任何服务器端调用(http://jsonip.appspot.com/?asp.net)和服务器端编码的解决方案。并且只使用在移动设备上可以使用的JavaScript。有解决方案吗?
或者我是否需要按照我检查的给定示例进行操作?
答案 0 :(得分:2)
我也需要设备IP地址。
事实证明,有一个PhoneGap插件可以从操作系统返回设备的IP地址。
有关源代码,请参阅https://build.phonegap.com/plugins/679和https://github.com/salbahra/NetworkInterfacePlugin/。
我是通过搜索引擎到达的人发布此内容,因为我花了一段时间才找到该插件。
答案 1 :(得分:0)
$(document).ready( function() {
$.getJSON( "http://smart-ip.net/geoip-json?callback=?", function(data){
alert( data.host);
});
});
答案 2 :(得分:0)
$.ajax({
url: '//freegeoip.net/json/',
type: 'POST',
dataType: 'jsonp',
success: function(location) {
alert(location.ip);
}
});
这也将支持https网站。
答案 3 :(得分:0)
看看这篇文章: how to edit local ip Address
功能(proimse)findIP就是你要找的。 p>