Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.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
Javascript 如何使用jQuery获取客户端IP地址_Javascript_Jquery_Ip Address - Fatal编程技术网

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

Javascript 如何使用jQuery获取客户端IP地址,javascript,jquery,ip-address,Javascript,Jquery,Ip Address,我想知道如何使用jQuery获取客户端IP地址 可能吗?我知道纯javascript不能,但从堆栈溢出本身获得了一些使用JSONP的代码 那么,使用jQuery有什么解决方法吗?jQuery可以处理JSONP,只需传递一个用callback=格式化的url即可?$.getJSON方法的参数,例如: $.getJSON(“https://api.ipify.org/?format=json“,函数(e){ 控制台日志(e.ip); }); 对服务器进行一个简单的AJAX调用,然后使用服务器端逻辑

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

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


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

jQuery可以处理JSONP,只需传递一个用callback=格式化的url即可?
$.getJSON
方法的参数,例如:

$.getJSON(“https://api.ipify.org/?format=json“,函数(e){
控制台日志(e.ip);
});

对服务器进行一个简单的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));

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


Jquery-获取ip地址
您的Ip地址:
$.getJSON(“http://jsonip.com?callback=?,函数(数据){
$(“.ip”).text(data.ip);
});

jsonip.appspot.com
显然也支持
CORS
以及
JSONP
。服务器现在已关闭,这是一个好主意,但我认为它不可靠。此服务器现在已关闭。所以我们可以简单地从jsonip.appspot.com中删除appspot?仅此而已:)@CMS您应该回答您提供的api的请求限制。请您提供一些您的答案的上下文。比如,为什么它会起作用?有什么缺点吗?谢谢
function GetUserIP(){
  var ret_ip;
  $.ajaxSetup({async: false});
  $.get('http://jsonip.com/', function(r){ 
    ret_ip = r.ip; 
  });
  return ret_ip;
}

<html lang="en">
<head>
    <title>Jquery - get ip address</title>
    <script type="text/javascript" src="//cdn.jsdelivr.net/jquery/1/jquery.min.js"></script>
</head>
<body>


<h1>Your Ip Address : <span class="ip"></span></h1>


<script type="text/javascript">
    $.getJSON("http://jsonip.com?callback=?", function (data) {
        $(".ip").text(data.ip);
    });
</script>


</body>
</html>