php专区

 首页 > php专区 > PHP应用 > 常用功能 > php ajax实现无刷新获取天气状态 - php高级应用

php ajax实现无刷新获取天气状态 - php高级应用

分享到:
【字体:
导读:
          首先我们要明白一点我们自己是无法来做天气预报这种功能的,这里我们只要调用api接口返回的数据就可以了,下面是以中国天气网的api接口调用实...

php ajax实现无刷新获取天气状态

首先我们要明白一点我们自己是无法来做天气预报这种功能的,这里我们只要调用api接口返回的数据就可以了,下面是以中国天气网的api接口调用实例我们一起来学习,天气已经成为生活中不可缺少的话题,与我们的生活有着密切的关系,我博客右边就用php+ajax做了一个天气查询小模块。

理想的状态应该是用户根据不同的访问地自动获取当地的天气信息,但是暂时技术有限吧,只能完成手动查询的了,这个就简单多了,没用到过多的技术,主要是应用ajax调用一个开放接口,然后再处理一下返回的json数据就完成了。

接口地址:http://www.weather.com.cn/data/cityinfo/101200101.html

返回的值:{"weatherinfo":{"city":"武汉","cityid":"101200101","temp1":"28℃","temp2":"36℃","weather":"晴转多云","img1":"n0.gif","img2":"d1.gif","ptime":"18:00"}}

接口地址部分“101200101”,这串ID号是城市ID,我百度到城市对应的id,然后封装成了一个数组,用的时候直接调用就行了。核心代码也不多,主要是城市——ID比较大,我就不贴源码了,直接打包分享出来吧。需要的朋友直接下载就行了!

部份代码如下:

  1. "Content-Type" content="text/html; charset=utf-8" /> 
  2. "text/javascript" src="jquery.js" > 
  3. "text/javascript"
  4. $(function(){ 
  5.  
  6.  $("#submit").click(function(){ 
  7.   //发送ajax请求 
  8.   var city = $("#city").val(); 
  9.   $.post("getweather.php", {city:city}, function(data){ 
  10.    if(data.weatherinfo.city){ 
  11.     var city = data.weatherinfo.city;   //城市名称 
  12.     var temp1 = data.weatherinfo.temp1;  //最高气温 
  13.     var temp2 = data.weatherinfo.temp2;  //最低气温 
  14.     var weather = data.weatherinfo.weather;  //天气描述(“晴到多云”) 
  15.     alert(city+":"+weather+","+temp2+"-"+temp1);   
  16.     return
  17.    }else
  18.     alert("没找到该城市"); 
  19.    } 
  20.   },"json"); 
  21.  }); 
  22.  
  23. }); 
  24.  

getweather.php文件代码如下:

  1. "post"
  2.  请输入城市:"text" name="city" id="city" value="武汉" /> 
  3.  "button" name="sub" id="submit" value="查看天气" /> 
  4.  
  5.  include "citycode.php"
  6.  $city = $_POST['city']; 
  7.  $citycode = @$citycode[$city]; 
  8.  //echo "shibushi"; 
  9.  if(emptyempty($citycode)){ 
  10.   echo "您输入的城市不在范围内"
  11.  }else
  12.   echo file_get_contents("http://www.weather.com.cn/data/cityinfo/".$citycode.".html"); 
  13.  } 
  14. ?> 
分享到:
php bcd码压缩-把十进制数字压缩到十六进...
php bcd码压缩-把十进制数字压缩到十六进制数据中 下面我们一起来看和篇关于php bcd码压缩-把十进制数字压缩到十六进制数据中实例,希望文章给各位同学带来帮助哦。 例,php bcd码压缩-把十进制数字压缩到十六进制数据中,代码如下:   例,把十进制数字压缩到十六进制数据中,代码如...
php ajax.$post实现攒,顶,踩的功能 - php...
php ajax.$post实现攒,顶,踩的功能 攒,顶,踩功能主要用于评论中这里我们来做一个简单基于jquery ajax与php的mysql实现的攒,顶,踩功能。 php应用越来越多,也越来越广泛,为了增加网站的丰富多彩,从而出现了很多新的技术。ajax是现代网站中不能缺少的一项技术,他可以异步刷新数据,而实现...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……