获取天气一般都是通过城市名、ip等调用接口得到的;那么我们就先来拿城市或者ip。
现在比较好用的,也是我在用的是搜狐的接口:
引入
< script src=“https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js”>
< script src=“https://pv.sohu.com/cityjson?ie=utf-8” type=“text/javascript”>
接下来我们先拿到城市和ip
const city = returnCitySN.cname.split("省")[1];
const ip = returnCitySN["cip"];
有了城市和ip我们就可以去拿天气预报了,阿里云市场万维易源的接口是目前市面上最便宜的,50块100000次,可以免费体验100次,但现在好像只能拿到最近3天的,贴上地址:
https://market.aliyun.com/products/57126001/cmapi033126.html?spm=5176.10695662.1996646101.searchclickresult.3d8f71c4ligYcx&aly_as=GfbJHWac#sku=yuncode2712600002
聚合数据有个获取7天的,可以先体验,但要贵一些,1000块500000次。地址:
https://www.juhe.cn/docs/api/id/39?
下面是重点,阿里云接口的使用,官方没有给出js的实例。
那么我们看看接口是怎么用我们js的ajax来调用:
$.ajax({
url: "http://weather01.market.alicloudapi.com/ip-to-weather", //这里的ip-to-weather就是指通过ip获取,也可以改为area-to-weather,就是通过城市获取了,通过城市获取,data的参数也应做改变:{ “area”:city }
type: "GET",
dataType: "JSON",
beforeSend: function (XMLHttpRequest) {
XMLHttpRequest.setRequestHeader("Authorization", "APPCODE cd9ee2e6438b46e89fa9014842e08110");//在header中设置APPCODE,购买后可以在购买商品的信息页查看自己的APPCODE,,要注意APPCODE后面必须要有空格
},
data: {
"ip": ip,
},
success: (res) => {
//获取到的天气预报数据
console.log(res);
},
error: function (err) {
console.log(err)
}
});
上面就是阿里云市场的万维易源提供的天气预报接口使用,聚合数据的使用就比较简单,感兴趣的可以去看看。
[