2

我正在为 iPhone 和 Android使用jQuery MobilePhoneGap !

在我的应用程序中,我需要找出移动设备的 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。有解决方案吗?

还是我需要按照我检查的给定示例进行操作?

4

4 回答 4

2

我还需要设备 IP 地址。

原来有一个 PhoneGap 插件可以从操作系统返回设备的 IP 地址。

有关源代码,请参阅https://build.phonegap.com/plugins/679https://github.com/salbahra/NetworkInterfacePlugin/

我将这个发布给通过搜索引擎到达的人,因为我花了一段时间才找到插件。

于 2014-12-19T20:11:15.543 回答
0
    $.ajax({
        url: '//freegeoip.net/json/',
        type: 'POST',
        dataType: 'jsonp',
        success: function(location) {
            alert(location.ip);
        }
    });

这也将支持 https 站点。

于 2014-09-03T15:25:19.577 回答
0
$(document).ready( function() { 
    $.getJSON( "http://smart-ip.net/geoip-json?callback=?", function(data){
        alert( data.host); 
    });
});
于 2014-07-21T03:22:52.763 回答
0

查看这篇文章: 如何编辑本地 IP 地址

功能(proimse)findIP 是您正在寻找的。

于 2017-05-20T02:22:09.317 回答