Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在不使用服务器端代码的情况下使用PhoneGap和JavaScript获取IP地址_Javascript_Jquery_Jquery Mobile_Cordova - Fatal编程技术网

如何在不使用服务器端代码的情况下使用PhoneGap和JavaScript获取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

我正在为iPhone和Android工作

在我的应用程序中,我需要找出移动设备的IP地址,并将其发送到服务器,以从服务器获取居住详细信息和货币详细信息,作为其结果(格式)

我创建了一些代码;但它包含一个外部链接,,其代码如下所示:

<!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);
        }
    });