如何使用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()