判定客户端IP所在的省市[2]
在上一篇地址控件的基础上,添加了判定客户端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.分享下资料
2.尝试使用jsonp来实现,还存在一些问题,优先完成项目就直接使用上面的方式实现。jsonp资料
判定客户端IP所在的省市[2]的更多相关文章
- openresty开发系列40--nginx+lua实现获取客户端ip所在的国家信息
openresty开发系列40--nginx+lua实现获取客户端ip所在的国家信息 为了实现业务系统针对不同地区IP访问,展示包含不同地区信息的业务交互界面.很多情况下系统需要根据用户访问的IP信息 ...
- php 获取客户端IP地址经纬度所在城市
1. [代码]获取客户端IP地址经纬度所在城市 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 <?php $getIp=$_SERVER["REMOTE_ADDR ...
- python中通过客户端IP拿到所在城市和当地天气信息—附带项目案例
熟悉老一代QQ的小伙伴可能都知道,很早以前的QQ,鼠标滑到头像的位置,你的位置和IP会在详情页显示,那么这个是如何做到的呢?下面我们就来玩一玩这个东西 首先,需求分析: 1.拿到客户端IP 2.通过I ...
- C#服务器获取客户端IP地址以及归属地探秘
背景:博主本是一位Windows桌面应用程序开发工程师,对网络通信一知半解.一日老婆逛完某宝,问:"为什么他们知道我的地址呢,他们是怎么获取我的地址的呢?" 顺着这个问题我们的探秘 ...
- nginx+tomcat集群配置(3)---获取真实客户端IP
前言: 在初步构建的nginx+tomcat服务集群时, 发现webserver获取到的客户端ip都是同一个, 皆为作为反向代理服务的nginx所在的机器IP. 这不太符合我们的基本需求, 为将来的数 ...
- JS获取客户端IP地址、MAC和主机名七种方法
一.使用JS获取客户端IP的几个方法方法一(只针对IE且客户端的IE允许AcitiveX运行,通过平台:XP,SERVER03,2000).获取客户端IP代码:<HTML><HEAD ...
- JS获取客户端IP地址、MAC和主机名的7个方法汇总
今天在搞JS(javascript)获取客户端IP的小程序,上网搜了下,好多在现在的系统和浏览器中的都无效,很无奈,在Chrome.FireFox中很少搞到直接利用ActiveX获取IP等的JS脚本. ...
- WCF 身份验证 通过检查客户端IP
WCF 身份验证 功能描述: 服务运行的时候,通过配置文件获取所有可访问SOA端的服务IP.每次客户调用服务时获取IP对比判定通过. 以下是获取客户端IP的代码: /***************** ...
- JS和C#.NET获取客户端IP
我们经常在项目中会遇到这种需要获取客户端真实IP的需求,其实在网上也能随便就能查到各种获取的方法,我也是在网上查了加上了自己的实践,说一下自己在实践后的感受,基本上网上大部分都是用JS的方法来获取客户 ...
随机推荐
- HDU - 6386 Age of Moyu 2018 Multi-University Training Contest 7 (Dijkstra变型)
题意:N个点M条边的无向图,每条边都有属于自己的编号,如果一条路径上的边编号都相同,那么花费仅为1:改变至不同编号的路径,花费加1,无论这个编号之前是否走过. 分析:记录每个点的最小花费,再用set维 ...
- 正则表达式和python的re模块
0 正则表达式 0.1 常见的元字符 .: 匹配除\r\n之外的任何单个字符 *: 匹配前面的子表达式任意次,例如Zz*可以匹配Z,可以匹配Zz,也可以匹配Zzzzzzzzzz +: ...
- 如何用纯 CSS 创作一个小球上台阶的动画
效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/PBGJwL 可交互视频 ...
- 20145240 GDB调试汇编堆栈过程分析
20145240 GDB调试汇编堆栈过程分析 测试代码 #include<stdio.h> short addend1 = 1; static int addend2 = 2; const ...
- 编译安卓7.0源码出现make: *** [ninja_wrapper] Error 1【转】
本文转载自:https://blog.csdn.net/u010684585/article/details/76263317 32 warnings generated.ninja: build s ...
- make install报错
今天,在运行公司内核的机器上,编译标准内核,结果提示: 问题原因: 原来安装新内核的时候,会与原内核比较,如果缺少了某些模块,就会提示”ERROR: modinfo: could not find m ...
- Valid Number,判断是否为合法数字
问题描述: Validate if a given string is numeric. Some examples:"0" => true" 0.1 " ...
- activity启动模式之singleTop
activity启动模式之singleTop 一.简介 二.设置方法 在AndroidManifest.xml中将要设置为singleTop启动模式的页面进行配置 <activity andro ...
- Button之常用事件
Button之常用事件 一.简介 1.button介绍 本文介绍了Buttonn的点击事件,触摸事件,获得焦点事件 接口分别为:OnClickListener,OnTouchListener,OnFo ...
- python学习笔记(SMTP邮件发送)
想着给框架添加邮件发送功能.所以整理下python下邮件发送功能 首先python是支持邮件的发送.内置smtp库.支持发送纯文本.HTML及添加附件的邮件 之后是邮箱.像163.qq.新浪等邮箱默认 ...