使用ajax获取用户所在地的天气
1.要获取用户归属地的天气,首先得获取用户所在的市区,
这里先获取用户的IP,通过IP获取IP的归属地,从而得到用户
地址。
获取客户端ip:
js:
<scripttype="text/javascript" src="http://pv.sohu.com/cityjson?ie=utf-8"></script>
<scripttype="text/javascript">
alert(returnCitySN.cip)
</script>
获取ip归属地:
淘宝接口:http://ip.taobao.com/service/getIpInfo.php?ip=183.129.210.50
{"code":0,"data":{"ip":"183.129.210.50","country":"中国","area":"","region":"浙江","city":"杭州","county":"XX","isp":"电信","country_id":"CN","area_id":"","region_id":"330000","city_id":"330100","county_id":"xx","isp_id":"100017"}}
新浪接口:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=183.129.210.50
var remote_ip_info = {"ret":1,"start":-1,"end":-1,"country":"\u4e2d\u56fd","province":"\u6d59\u6c5f","city":"\u676d\u5dde","district":"","isp":"","type":"","desc":""};
2.因为阿里云提供了通过城市名(city)或者城市编号(cityId)
即可获取天气的API,从而获取用户归属地天气
var city1;
$.ajax({
//获取客户端 IP 和 归属地
url: "http://chaxun.1616.net/s.php?type=ip&output=json",
contentType:'application/json;charset=urt-8',
dataType: "jsonp",
success: function (data) {
console.log('ip:' + data.Ip)
console.log('归属地:' + data.Isp)
var lcity = data.Isp.split(' ')[0];
//获取短名称,如淮安市
city1 = lcity.split('省')[1];
console.log(city1)
//因为是异步刷新,所以两个请求几乎同时进行
$.ajax({
type: 'get',
url: 'http://jisutqybmf.market.alicloudapi.com/weather/query',
async: true,
//设置验证方式,设置请求头
//1,APPCode
headers: { Authorization: "APPCODE 你的APPCode" },
//2.APPSecret 暂时不能用
//headers: { AppKey: '你的APPKey', AppSecret :'你的APPSecret' },
data: { city: city1 },
success: function (result) {
console.log(result['result'])
//alert(result)
},
error: function () {
alert('error')
}
});
}
});
输出结果:

使用ajax获取用户所在地的天气的更多相关文章
- 百度接口通过ip获取用户所在地
		/** * 百度接口 * 通过用户ip获取用户所在地 * @param userIp * @return */ public static String get ... 
- 根据ip地址获取用户所在地
		java代码: package com.henu.controller; import java.io.BufferedReader; import java.io.IOException; impo ... 
- qt qml ajax 获取 json 天气数据示例
		依赖ajax.js类库,以下代码很简单的实现了获取天气json数据并展示的任务 [TestAjax.qml] import QtQuick 2.0 import "ajax.js" ... 
- ajax获取json数据及实现跨域请求
		最近想练习一下ajax获取json数据 , 首先上网找一些在线的可用来测试的接口. -----------------------------------------------------这里是接口 ... 
- 微信测试号开发之九 微信网页授权:页面获取用户openid
		原文链接:https://blog.csdn.net/qq_37936542/article/details/78981369 一:配置接口 注意:这里填写的是域名(是一个字符串),而不是URL,因此 ... 
- Ajax的封装,以及利用jquery的ajax获取天气预报
		1.Ajax的封装 function ajax(type,url,param,sync,datetype,callback){//第一个参数是获取数据的类型,第二个参数是传入open的url,第三个是 ... 
- 用ajax获取后台数据,返回json数据,怎么在前台使用?
		用ajax获取后台数据,返回json数据,怎么在前台使用呢?后台 C# code ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 if (dataType == &qu ... 
- 第八篇 :微信公众平台开发实战Java版之如何网页授权获取用户基本信息
		第一部分:微信授权获取基本信息的介绍 我们首先来看看官方的文档怎么说: 如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑. 关于网页授权回调域 ... 
- ***微信公众平台开发: 获取用户基本信息+OAuth2.0网页授权
		本文介绍如何获得微信公众平台关注用户的基本信息,包括昵称.头像.性别.国家.省份.城市.语言.本文的方法将囊括订阅号和服务号以及自定义菜单各种场景,无论是否有高级接口权限,都有办法来获得用户基本信息, ... 
随机推荐
- Category	分类
			1.Category 1)分类/类别(category): 允许以模块的方式向现有类定义添加新的方法(默认不能添加实例变量).用以扩展自己或他人以前实现的类,使它适合自己的需要. 分类的名称括在类名之 ... 
- AppDelegate生命周期回调顺序
			1. 应用初次启动: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDiction ... 
- Spring MVC零配置(全注解)(版本5.0.7)
			// 核心配置类 package spittr.config; import org.springframework.web.servlet.support.AbstractAnnotationCon ... 
- 【以太坊开发】区块链中的预言机:Oraclize原理介绍
			智能合约的作用很多,但是很多数据还是要基于互联网,那么如何在合约中获取互联网中的数据?Oraclize就是为了这个目的而诞生的. 工作原理: 智能合约通过对Oraclize发布一个合约之间的调用请求来 ... 
- mybatis 批量update两种方法对比
			<!-- 这次用resultmap接收输出结果 --> <select id="findByName" parameterType="string&qu ... 
- 二分图【洛谷P2175】 小Z的游戏分队
			P2175 小Z的游戏分队 小Z受不了寂寞,准备举办一次DOTA比赛,为了能让ACM班全部都参加比赛,他还特制了一张DOTA地图能够支持任意多人打任意多人. 现在问题来了,怎么把这么多人分成两队?小Z ... 
- 牛客寒假算法基础集训营4 I Applese 的回文串
			链接:https://ac.nowcoder.com/acm/contest/330/I来源:牛客网 自从 Applese 学会了字符串之后,精通各种字符串算法,比如……判断一个字符串是不是回文串. ... 
- DesiredCapabilities内容详解--Appium服务关键字
			上次了解了一些DesiredCapabilities的用法,有些还是不太清楚,去appium官网找了找官方文档,觉得写的很全: ## Appium 服务关键字 <expand_table> ... 
- php设计模式总结2
			策略模式: 定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户. 封装:把行为用接口封装起来,我们可以把那些经常变化的部分,从当前的类中单独取出来,用接口进行单 ... 
- 浅谈ORM操作
			2. ORM(对象关系映射) 1. 映射的关系 DB ORM 数据表 <--> 类 数据行 <--> 对象 字段 <--> 属性 2. Django项目使用MySQ ... 
