如何使用jQuery获取客户端IP地址

我想知道如何使用jQuery获取客户端IP地址?

可能吗? 我知道纯JavaScript不能,但从堆栈溢出本身使用JSONP得到了一些代码。

那么,有什么解决方法使用jQuery?

jQuery可以处理JSONP,只需传递一个带有callback =格式的url。 参数到$.getJSON方法,例如:

 $.getJSON("https://api.ipify.org/?format=json", function(e) { console.log(e.ip); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 

一个简单的AJAX调用到你的服务器,然后服务器端的逻辑来获得IP地址应该做的伎俩。

 $.getJSON('getip.php', function(data){ alert('Your ip is: ' + data.ip); }); 

然后在PHP中,你可能会这样做:

 <?php /* getip.php */ header('Cache-Control: no-cache, must-revalidate'); header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); header('Content-type: application/json'); if (!empty($_SERVER['HTTP_CLIENT_IP'])) { $ip=$_SERVER['HTTP_CLIENT_IP']; } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { $ip=$_SERVER['HTTP_X_FORWARDED_FOR']; } else { $ip=$_SERVER['REMOTE_ADDR']; } print json_encode(array('ip' => $ip)); 
 function GetUserIP(){ var ret_ip; $.ajaxSetup({async: false}); $.get('http://jsonip.com/', function(r){ ret_ip = r.ip; }); return ret_ip; } 

如果您想使用IP并将其分配给variables,请尝试此操作。 只要调用GetUserIP()