在上一篇地址控件的基础上,添加了判定客户端IP所在省市的功能。

调用新浪提供的IP库接口:http://counter.sina.com.cn/ip/,(可直接点击链接查看返回的数据)

126提供的接口备用:http://ip.ws.126.net/ipquery

在线演示:http://sandbox.runjs.cn/show/sgrk3ceu

核心代码(setClientAddress.js):

//根据客户端IP判定其所在省市
//expr:用于筛选元素的jQuery表达式
var setClientLocation = function(expr){
//调用新浪接口
//返回样例数据:var ILData = new Array("61.175.198.120","中国", "浙江省", "杭州市", "电信"); if (typeof(ILData_callback) != "undefined") { ILData_callback(); }
$.ajax({
type:"get",
cache: true,
async: false,//这里的设置为同步没起作用
url:"http://counter.sina.com.cn/ip/",
async:false,
dataType: 'script',//设置服务器返回的数据类型
scriptCharset: 'gb2312',//防止乱码
success: function(){
if(ILData[2])
{
//可以做个是否为表单元素的判定,选择使用val()还是text(),还未实现
$(expr).val($.trim(ILData[2])+'-'+ $.trim(ILData[3]));
}
}
}); //如果新浪接口失效,使用126接口
//接口返回数据:var lo="浙江省", lc="杭州市"; var localAddress={city:"杭州市", province:"浙江省"}
if(!$(expr).val())
{
$.ajax({
type:"get",
cache: true,
async: false,
url:"http://ip.ws.126.net/ipquery",
async:false,
dataType: 'script',
scriptCharset: 'utf-8',
success: function(){
if(lo)
$(expr).val($.trim(lo)+'-'+$.trim(lc));
}
});
}
};

调用:

//调用setClientAddress.js中封装的方法
//参数为jQuery表达式,如#id, .class之类
setClientLocation('#consignoraddress');

1.分享下资料

ip地址api第三方jsonp接口整理

2.尝试使用jsonp来实现,还存在一些问题,优先完成项目就直接使用上面的方式实现。jsonp资料

jsonp详解

说说json与jsonp,也许你会豁然开朗

判定客户端IP所在的省市[2]的更多相关文章

  1. openresty开发系列40--nginx+lua实现获取客户端ip所在的国家信息

    openresty开发系列40--nginx+lua实现获取客户端ip所在的国家信息 为了实现业务系统针对不同地区IP访问,展示包含不同地区信息的业务交互界面.很多情况下系统需要根据用户访问的IP信息 ...

  2. php 获取客户端IP地址经纬度所在城市

    1. [代码]获取客户端IP地址经纬度所在城市 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 <?php   $getIp=$_SERVER["REMOTE_ADDR ...

  3. python中通过客户端IP拿到所在城市和当地天气信息—附带项目案例

    熟悉老一代QQ的小伙伴可能都知道,很早以前的QQ,鼠标滑到头像的位置,你的位置和IP会在详情页显示,那么这个是如何做到的呢?下面我们就来玩一玩这个东西 首先,需求分析: 1.拿到客户端IP 2.通过I ...

  4. C#服务器获取客户端IP地址以及归属地探秘

    背景:博主本是一位Windows桌面应用程序开发工程师,对网络通信一知半解.一日老婆逛完某宝,问:"为什么他们知道我的地址呢,他们是怎么获取我的地址的呢?" 顺着这个问题我们的探秘 ...

  5. nginx+tomcat集群配置(3)---获取真实客户端IP

    前言: 在初步构建的nginx+tomcat服务集群时, 发现webserver获取到的客户端ip都是同一个, 皆为作为反向代理服务的nginx所在的机器IP. 这不太符合我们的基本需求, 为将来的数 ...

  6. JS获取客户端IP地址、MAC和主机名七种方法

    一.使用JS获取客户端IP的几个方法方法一(只针对IE且客户端的IE允许AcitiveX运行,通过平台:XP,SERVER03,2000).获取客户端IP代码:<HTML><HEAD ...

  7. JS获取客户端IP地址、MAC和主机名的7个方法汇总

    今天在搞JS(javascript)获取客户端IP的小程序,上网搜了下,好多在现在的系统和浏览器中的都无效,很无奈,在Chrome.FireFox中很少搞到直接利用ActiveX获取IP等的JS脚本. ...

  8. WCF 身份验证 通过检查客户端IP

    WCF 身份验证 功能描述: 服务运行的时候,通过配置文件获取所有可访问SOA端的服务IP.每次客户调用服务时获取IP对比判定通过. 以下是获取客户端IP的代码: /***************** ...

  9. JS和C#.NET获取客户端IP

    我们经常在项目中会遇到这种需要获取客户端真实IP的需求,其实在网上也能随便就能查到各种获取的方法,我也是在网上查了加上了自己的实践,说一下自己在实践后的感受,基本上网上大部分都是用JS的方法来获取客户 ...

随机推荐

  1. unity,如何手动或者使用代码更换材质

    在unity中,我们可能需要更换怪物的贴图,来达到以下效果 方法1:手动配置 找到自己配置好的扩展名为.mat的文件,在怪物的节点找到带Mesh Render的子元素,将其拖放到如图位置 方法2:代码 ...

  2. Java基础_基本语法

    Java基本语法 一:关键字 在Java中有特殊含义的单词(50). 二:标志符 类名,函数名,变量名的名字的统称. 命名规则: 可以是字母,数字,下划线,$. 不能以数字开头. 见名之意. 驼峰规则 ...

  3. Qt5.5.1移植到freescale imx6

    一.环境 HOST:ubuntu12.04-LTS Embedded:freescale imx6 linux-3.0.35 CROSS_COMPILE:freescale提供的gcc-4.6.2-g ...

  4. 自动回复之实现随机回复与常用Mapper XML标签

    [常用Mapper XML标签] 1.基本的:select.insert.update 等 2.可读性.方便拼SQL:where.set.trim 3.减少重复:sql 4.逻辑控制:if.choos ...

  5. 【Head First Servlets and JSP】笔记20:EL以及<jsp:useBean ....>的补充

    1.EL的英文是Expression Language,译成中文就是“表达式语言”.这是一种给前端程序员使用的脚本语言,EL与Java表达式相比并没有什么“天壤之别”,在后端程序员看来多少有点“多此一 ...

  6. 如何编写自己的虚拟DOM

    要构建自己的虚拟DOM,需要知道两件事.你甚至不需要深入 React 的源代码或者深入任何其他虚拟DOM实现的源代码,因为它们是如此庞大和复杂--但实际上,虚拟DOM的主要部分只需不到50行代码. 有 ...

  7. Linux实用命令工具-dtrx根据需要自动解压

    刚刚逛网站的时候看到一个命令工具很不错——dtrx. 这个工具能够解压的类型包括tar, zip,rpm, deb, gem, 7z, cpio, rar 等等,并且这个工具能自动识别压缩包类型并进行 ...

  8. 2062326 齐力锋 实验四《Java面向对象程序设计Android开发》实验报告

    北京电子科技学院(BESTI) 实 验 报 告 课程: 程序设计与数据结构  班级: 1623  姓名: 齐力锋 学号: 20162326 成绩: 指导教师: 娄嘉鹏/王志强 实验日期: 2017年5 ...

  9. make install报错

    今天,在运行公司内核的机器上,编译标准内核,结果提示: 问题原因: 原来安装新内核的时候,会与原内核比较,如果缺少了某些模块,就会提示”ERROR: modinfo: could not find m ...

  10. 阻止a标签跳转四种方法 兼容各大浏览器(包括IE)

    阻止a标签跳转四种方法 兼容各大浏览器(包括IE) HTML <!--第一种--> <a href="javascript:;">我不会被跳转</a& ...