<script src="http://pv.sohu.com/cityjson?ie=utf-8"></script>
直接获取IP和城市名:
alert(returnCitySN['cip'] + returnCitySN['cname'])
如果只是写浏览器端js的话,需要一个庞大的js问价的ip数据库// 数据库
var database = {
'123.123.123.123': {
province: '北京市',
city: '北京市',
operators: '联通',
},
'123.123.123.124': {
province: '北京市',
city: '北京市',
operators: '联通',
}
// ...
}
// 主函数
var inquireIP = function (ip) {
if(database[ip]) {
return database[ip]
}else{
console.log('找不到ip:' + ip)
return null
}
}
// 调用
var ipData = inquireIP('123.123.123.123')
这样子这个js文件会很大,也可以调用API的形式,为方便下面js代码使用了jquery
// 主函数
var inquireIP = function (ip, callback) {
$.ajax({
url: '你的API接口地址',
type: 'GET',
dataType: 'jsonp',
data: {ip: ip}
})
.done(function(data) {
callback(data)
})
}
// 调用
inquireIP('123.123.123.123', function (data) {
console.log(data)
})
这样子就可以在服务端处理,当然提前你得有服务器,并搭建一个查询ip的API接口
先得保证客户端联网。然后利用某个IP服务器接口。
$(function(){var api = "://pv.sohu.com/cityjson"//前面加上http
//这里api是搜狐IP地址查询接口
$.get(api,function(data){
var script = $('<script type="text/javascript"/>')[0]
script.defer = true
script.text = data
$(script).appendTo("head")
console.log("cid : " + returnCitySN.cid)
console.log("cip : " + returnCitySN.cip)//得到IP
console.log("cname : " + returnCitySN.cname)//得到城市
},"text")
})