javascript通过新浪ip库查询ip地址信息

今天遇到博客加载十分缓慢,首页数据库查询43次,却耗时20秒+,着实让人心惊胆颤,连忙联系了主机商,经过查询是因为程序查询了ip地址信息导致页面加载延长。

关于查询ip地址信息,前面文章说到过:点击查看详情

正因为使用PHP后台查询,导致页面加载延迟。既然这样,我们是否可以在页面打开之后再查询新浪ip的ip信息呢?

  1. $.getScript("http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip="+ip
  2. ,function()
  3. {
  4. if(remote_ip_info.ret==1)
  5. {
  6. var c=remote_ip_info.country,//国家
  7. p=remote_ip_info.province,//省份
  8. i=remote_ip_info.city,//城市
  9. d=remote_ip_info.desc,//详细
  10. s=c+''+p+'省'+i+'市'+d;
  11. ;
  12. }
  13. else
  14. {
  15. var s=ip+'信息无法查询';
  16. }
  17. console.log(s);
  18. });

如上,请求js,返回一个全局变量remote_ip_info,是一个json对象。如:

  1. $.getScript("http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=123.123.123.123"
  2. ,function()
  3. {
  4. console.log(remote_ip_info);
  5. });

返回的信息:

  1. city: "北京"
  2. country: "中国"
  3. desc: ""
  4. district: ""
  5. end: "123.123.154.255"
  6. isp: "联通"
  7. province: "北京"
  8. ret: 1
  9. start: "123.123.115.0"
  10. type: ""

如果ip信息错误,返回的是:

  1. ip: "127.0.0.1"
  2. ret: -1

通过判断返回的ret值即可判断是否包含ip信息。

 

 

 

原文链接:http://qianduanblog.com/post/javascript-sina-ip-library.html

posted @ 2015-05-18 12:41  半前端半设计的四不像  阅读(306)  评论(0)    收藏  举报