我尝试使用以下代码获取IP:
$.getJSON("http://jsonip.appspot.com?callback=?", function(data){ip=data.ip});
但它似乎对我不起作用。请帮助。
提前致谢。
答案 0 :(得分:6)
您可以使用此网站通过JSON获取您的IP。
答案 1 :(得分:2)
您需要向后端Web服务器发送ajax请求,并从服务器返回请求客户端的ip回应ajax请求。代码将根据Web应用程序的语言而改变。
JavaScript本身无法读取本地计算机的IP地址,因此JavaScript要获取该信息,我们需要使用其他语言来获取信息。
服务器端代码选项的几个片段
在JSP中
ip = '<%=request.getRemoteAddr()%>';
在PHP中
ip = "<?php echo $_SERVER['REMOTE_ADDR']?>";
在ASP中
ip = '<%= Request.ServerVariables("REMOTE_ADDR")%>';
在ASP.NET中
ip = '<%= Request.UserHostAddress>';
在Cold Fusion中
ip = '<cfoutput>#cgi.remote_addr#</cfoutput>';
答案 2 :(得分:0)
<script type="application/javascript">
function getip(json){
alert(json.ip); // alerts the ip address
}
<script type="application/javascript" src="http://jsonip.appspot.com/?callback=getip"></script>
答案 3 :(得分:0)
使用jQuery获取您的IP
你可以用一行JS获取你的公共IP地址吗?有免费服务为您提供此服务,您只需要获取请求:
$.get('http://jsonip.com/', function(r){ console.log(r.ip); });
要使上述代码段生效,您的浏览器必须支持CORS(跨源请求共享)。除此以外 将抛出安全异常。在旧版浏览器中,您可以使用此版本,该版本使用JSON-P请求:
$.getJSON('http://jsonip.com/?callback=?', function(r){ console.log(r.ip); });