js获取天气

  我们经常看到有的网站显示天气信息,它是怎么做出来的呢?今天就来分享一些关于js调用天气API的几种做法。  

  网上也能找到很多种方法,但是一般都是免费的不好用,好用的不免费。

  以前用过新浪的天气api,查询当天和明天的天气还凑合(虽然不是很准),后来有一个要查询七天的需求,试了好多次都不行,只能另辟蹊径了。

  在网上找到一个www.k780.com/ 貌似是国外的,需要注册一下,获得到接口需要的参数appkey和sign值,目前是不收费的,下面就把代码粘出来,附带注释

var paramUrl = "http://api.k780.com:88/?app=weather.future&weaid=" + url + "&appkey=" + appkey + "&sign=27c89ecea48a0e28f9c25f23be6a4e40&format=json";
    $.ajax({
        url: paramUrl,
        type: "get",
        dataType: "jsonp",
        jsonp: ‘jsoncallback‘,
        async: false,
        data: "",
       // success: eval(funback)   封装成方法时,这里是回调参数名称
         success:function(data){
            //这里处理返回的结果  json格式的
          }
    });

其中weaid:地址,可以是名称可以是IP,appkey sign是注册获取的

返回的结果,返回七天的值,这里只截取了一天的,其中值得一提的是weather_icon字段,天气的图片,有几个版本的大图小图,可以在网站上下载

{"success":"1","result":[{"weaid":"2071","days":"2016-06-01","week":"星期三","cityno":"hbyangxin","citynm":"阳新","cityid":"101200603","temperature":"28℃/20℃","humidity":"0℉/0℉","weather":"暴雨转小雨","weather_icon":"http://api.k780.com:88/upload/weather/d/10.gif","weather_icon1":"http://api.k780.com:88/upload/weather/n/7.gif","wind":"北风","winp":"3-4级","temp_high":"28","temp_low":"20","humi_high":"0","humi_low":"0","weatid":"11","weatid1":"8","windid":"20","winpid":"14"}]}

总起来说这个还是比较蛮好用的,参数少,返回值清晰齐全。存在ajax请求跨域问题,现在还没搞太清楚,使用是没问题的,等搞明白了再来补充

时间: 2024-11-05 21:55:41

js获取天气的相关文章

根据IP获取天气状况

上一节我们学习了如何获取客户端IP,并确定其所在地.这一节我们接着学习根据已获取的信息进一步获取客户所在地的天气情况. 根据上一节里我们已经获取了的客户所在的省份.城市,那么我们只要利用一些与天气相关的网站的API,就能完成天气情况的信息获取(此处使用的是中国天气网所提供的API). 我们还是先来看看代码怎么实现的: <?php header('Content-Type:text/html;Charset=utf-8'); function GetIp(){ $realip = ''; $unk

JS获取图片的缩略图,并且动态的加载多张图片

找了好多资料也没有找到该死的ie的解决办法,最后放弃了ie <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>js获取缩略图</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <st

用js获取页面颜色值怎么比较?

一般情况下,我们通过十六进制的方式设置页面颜色值 如#64e164 但当我们通过js获取这个dom颜色值的时候,返回的值却可能不是十六进制的,所以比较的时候需要分浏览器进行 在火狐和谷歌浏览器中,返回的是rgb格式表示的颜色值,如前面的#64e164  返回的是  rgb(100, 225, 100) 这时候就需要用rgb格式的字符串和获取的值作比较才会返回true 但是在ie中,则需要使用16进制的方式比较才能返回true

js获取单选按钮的值

<!DOCTYPE html> <html> <body> <script type="text/javascript"> function select_patten(value) { // varvalue=document.getElementsByName(text).value; //  alert('hello'); alert(value); } </script> //以下这种方式只能获得单个单选按钮的valu

js获取当前日期方法

我们经常会用到日期,下面是js获取日期的方法,后面有其他的方法还会不定期更新. 1 // 获取当前日期时间 2 function getCurrentDateTime(){ 3 var date=new Date(); 4 var year=date.getFullYear(); 5 var month=date.getMonth()+1; 6 var day=date.getDate(); 7 var hours=date.getHours(); 8 var minutes=date.getM

js获取时间

Js获取当前日期时间及其它操作 var myDate = new Date();myDate.getYear();        //获取当前年份(2位)myDate.getFullYear();    //获取完整的年份(4位,1970-????)myDate.getMonth();       //获取当前月份(0-11,0代表1月)myDate.getDate();        //获取当前日(1-31)myDate.getDay();         //获取当前星期X(0-6,0代表

js获取日期昨天,明天以及上月最后一天的日期

js回去今天,明天,昨天的日期 1 function getDateStr(AddDayCount) { 2 var dd = new Date(); 3 dd.setDate(dd.getDate() + AddDayCount); //获取AddDayCount天后的日期 4 var year = dd.getFullYear(); 5 var mon = dd.getMonth()+1; //获取当前月份的日期 6 var day = dd.getDate(); 7 return year

js获取url链接中的参数

js获取url链接中的参数:url传递参数这是常识,这里就不多介绍了,既然传递参数就要获取参数的值,下面就介绍一下如何实现此功能.代码如下: function request(paras){ var url="softwhy.com?a=1&b=2"; var paraString=url.substring(url.indexOf("?")+1,url.length).split("&"); var paraObj={} for

Js获取当前日期时间+日期印证+判断闰年+日期的天数差+日期格式化+JS判断某年某月有多少天

Js获取当前日期时间+日期验证+判断闰年+日期的天数差+日期格式化+JS判断某年某月有多少天 字符串转日期型+Js当前日期时间+日期验证+判断闰年+日期的天数差+日期格式化+日期所在年的第几周 日期时间脚本库方法列表Date.prototype.isLeapYear 判断闰年Date.prototype.Format 日期格式化Date.prototype.DateAdd 日期计算Date.prototype.DateDiff 比较日期差Date.prototype.toString 日期转字符