我们经常看到有的网站显示天气信息,它是怎么做出来的呢?今天就来分享一些关于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请求跨域问题,现在还没搞太清楚,使用是没问题的,等搞明白了再来补充

js获取天气的更多相关文章

  1. JS调用腾讯接口获取天气

    想做个直接通过JS获取某个城市的天气.本来想通过直接调用中国气象网的接口: http://www.weather.com.cn/weather/101070201.shtml,但是跨域问题一直无法解决 ...

  2. ajax无刷新获取天气信息

    浏览器由于安全方面的问题,禁止ajax跨域请求其他网站的数据,但是可以再本地的服务器上获取其他服务器的信息,在通过ajax请求本地服务来实现: <?php header("conten ...

  3. js获取给定月份的N个月后的日期

    1.在讲js获取给定月份的N个月后的日期之前,小颖先给大家讲下getFullYear().getYear()的区别. ①getYear() var d = new Date() console.log ...

  4. 【转】javascript浏览器参数的操作,js获取浏览器参数

    原文地址:http://www.haorooms.com/post/js_url_canshu html5修改浏览器地址:http://www.cnblogs.com/JiangXiaoTian/ar ...

  5. js获取当前域名、Url、相对路径和参数以及指定参数

    一.js获取当前域名有2种方法 1.方法一 var domain = document.domain; 2.方法二 var domain = window.location.host; 3.注意问题 ...

  6. js获取当前系统时间

    Js获取当前日期时间及其它操作var myDate = new Date();myDate.getYear(); //获取当前年份(2位)myDate.getFullYear(); //获取完整的年份 ...

  7. Js获取当前日期时间及其它操作

    Js获取当前日期时间及其它操作var myDate = new Date();myDate.getYear(); //获取当前年份(2位)myDate.getFullYear(); //获取完整的年份 ...

  8. js获取cookie

    js获取cookie 之前用jQuery.cookie来获取cookie,虽然简单,但是项目上又多引用了一个插件,总觉得不太好,下面是我封装的js原生获取cookie的函数. function get ...

  9. js获取URL中的参数

    js获取URL中的一些参数的意思 location对象 含有当前URL的信息. 属性 href 整个URL字符串. protocol 含有URL第一部分的字符串,如http: host 包含有URL中 ...

随机推荐

  1. 4 weekend110的hdfs&mapreduce测试 + hdfs的实现机制初始 + hdfs的shell操作 + 无密登陆配置

    Hdfs是根/目录,windows是每一个盘符, 1  从Linux里传一个到,hdfs里去 2  从hdfs里下一个到,linux里去 想从hdfs里,下载到linux, 涨知识,记住,hdfs是建 ...

  2. Linux中的文件压缩,打包和备份命令

    压缩解压命令 gzip  文件   -c : 将压缩数据输出到屏幕,可用来重定向 -v   显示压缩比等信息 -d   解压参数 -t    用来检验一个压缩文件的一致性看看档案有没错 -数字 : 压 ...

  3. MiniCodeEditor:只有168字节的在线Html/CSS/JavaScript编辑器

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:MiniCodeEditor:只有168字节的在线Html/CSS/JavaScript编辑器.

  4. BBC 生命大设计

    BBC霍金的生命的意义一视频中,有一段图案特别漂亮,于是我就写了一下,具体的繁殖规则是这样的:有存活体和死方格两个部分构成,我分别用 ' * ' 和 ‘  ’ 表示.当一个存活体周围有超过三个存活体时 ...

  5. [转]flume-ng+Kafka+Storm+HDFS 实时系统搭建

    http://blog.csdn.net/weijonathan/article/details/18301321 一直以来都想接触Storm实时计算这块的东西,最近在群里看到上海一哥们罗宝写的Flu ...

  6. C++访问sqlite3实践

    Sqlite确实是一个比较好的本地数据库,从接触它的时候就喜欢上了它,它可以在很多情况下简化应用.不过以前都是在Java里面使用,或者Linux C下使用的,现在有个项目(C++)可能我会用到sqli ...

  7. [Javascript] MetaProgramming: function name

    Each function should have a 'name' property. It can be anonymous, empty, the same as function name, ...

  8. [React] React Fundamentals: JSX Deep Dive

    "JSX transforms from an XML-like syntax into native JavaScript. XML elements and attributes are ...

  9. 统计功能和子对象的大小信息查询Bug

    I hava below two statement sql: 0. not in subquery select a.schemaname, pg_size_pretty(pg_total_rela ...

  10. android 判断应用程序是否已安装

    1.判断是否安装/** check the app is installed*/private boolean isAppInstalled(Context context,String packag ...