如何在不使用服务器端代码的情况下使用PhoneGap和JavaScript获取IP地址
我正在为iPhone和Android工作 在我的应用程序中,我需要找出移动设备的IP地址,并将其发送到服务器,以从服务器获取居住详细信息和货币详细信息,作为其结果(格式) 我创建了一些代码;但它包含一个外部链接,,其代码如下所示:如何在不使用服务器端代码的情况下使用PhoneGap和JavaScript获取IP地址,javascript,jquery,jquery-mobile,cordova,Javascript,Jquery,Jquery Mobile,Cordova,我正在为iPhone和Android工作 在我的应用程序中,我需要找出移动设备的IP地址,并将其发送到服务器,以从服务器获取居住详细信息和货币详细信息,作为其结果(格式) 我创建了一些代码;但它包含一个外部链接,,其代码如下所示: <!DOCTYPE HTML> <html> <head> <script type="text/javascript" language="javascript"> fu
<!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>
函数myIP(){
if(window.XMLHttpRequest)
xmlhttp=新的XMLHttpRequest();
其他的
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
open(“GET”http://jsonip.appspot.com/?asp.net“,假);
xmlhttp.send();
hostipInfo=xmlhttp.responseText;
obj=JSON.parse(hostipInfo);
document.getElementById(“IP”).value=obj.IP;
document.getElementById(“地址”).value=obj.ADDRESS;
}
知识产权:
地址:
但是我正在寻找一种不使用任何服务器端调用()和服务器端编码的解决方案。并且只使用JavaScript,这在移动设备上是可以的。有解决办法吗
或者我需要遵循我检查过的给定示例吗
$(document).ready( function() {
$.getJSON( "http://smart-ip.net/geoip-json?callback=?", function(data){
alert( data.host);
});
});
这也将支持https站点。我还需要设备IP地址 原来有一个PhoneGap插件可以从操作系统返回设备的IP地址 有关源代码,请参阅和 我为通过搜索引擎到达的人发布此帖子,因为我花了一段时间才找到插件。查看此帖子:
函数(proimse)findIP是您需要的。您的代码工作得很好吗?问题是什么?可能是@Gajotres的副本请在发送副本问题之前阅读我的需要。我需要不使用外部链接。。当我在这里发布Q时,我是否也检查过@ULLASMOHAN.V您必须使用本机插件(在中排名靠前的答案)或服务器端代码。仅使用当前的PhoneGap JavaScript API无法实现这一点。您是否真的完成了部分:
我创建了一些代码;但它包含一个外部链接,http://jsonip.appsp...
和…但我正在寻找一种不使用任何服务器端呼叫的解决方案
,我可以告诉你,这个插件只返回本地wifi的ip地址,所以类似192。。。我需要公共ip用于安全审计等。
$.ajax({
url: '//freegeoip.net/json/',
type: 'POST',
dataType: 'jsonp',
success: function(location) {
alert(location.ip);
}
});