js可以根据后端传递过来的ip地址判断出对应所在的省份地区吗?有木有大神以前做个类似的。有什么好的思路实现方式吗?麻烦提供一下 谢谢!!
认证0级讲师
既然你非要前端的实现,那我就给一个,不过其实也是调用后端接口实现的
function get_ip(cb) { var script = document.createElement("script"), s = document.getElementsByTagName("script")[0]; script.src = "http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=jsonp"; s.parentNode.insertBefore(script, s); var it = setInterval(function () { if (!!remote_ip_info) { cb(remote_ip_info); remote_ip_info = null; clearInterval(it); it = null; } }, 100); } get_ip(function (info) { alert('你的ip所在地为:' + info.country + info.province + info.city); });
看效果http://codepen.io/joyqi/pen/rxOqEq
这个最好还是后端实现吧。前端的话可以考虑IP库,通过地址与IP库比对判断出省份。
新浪ip库貌似可以,搜下吧
不建议前端来做这个,
有好几家ip库提供http的服务来做,但是都很慢,不稳定。
例如 阿里 -- http://ip.taobao.com/
后端吧,有个geolite的ip库
这功能跟JS没有关系,甚至跟具体哪种语言没有关系。应该调用相关的API来实现。
为什么后端不加一个归属地字段。后端处理这个很容易,前端基本需要用公共ip接口或者自建接口了
已经解决了!谢谢大家
童鞋,《Javascript高级程序设计》的jsonp那里有这个例子耶。
既然你非要前端的实现,那我就给一个,不过其实也是调用后端接口实现的
看效果
http://codepen.io/joyqi/pen/rxOqEq
这个最好还是后端实现吧。
前端的话可以考虑IP库,通过地址与IP库比对判断出省份。
新浪ip库貌似可以,搜下吧
不建议前端来做这个,
有好几家ip库提供http的服务来做,但是都很慢,不稳定。
例如 阿里 -- http://ip.taobao.com/
后端吧,有个geolite的ip库
这功能跟JS没有关系,甚至跟具体哪种语言没有关系。应该调用相关的API来实现。
为什么后端不加一个归属地字段。后端处理这个很容易,前端基本需要用公共ip接口或者自建接口了
已经解决了!谢谢大家
童鞋,《Javascript高级程序设计》的jsonp那里有这个例子耶。