js调用新浪天气预报的方法

1.新浪调用天气预报的方法,代码如下

  //天气预报
  function findWeather() {
   var cityUrl = 'http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js';
   $.getScript(cityUrl, function(script, textStatus, jqXHR) {
    var citytq = remote_ip_info.city ;// 获取城市
       var url = "http://php.weather.sina.com.cn/iframe/index/w_cl.php?code=js&city=" + citytq + "&day=0&dfc=3&charset=utf-8";
       $.ajax({
           url:url,
           dataType:"script",
           success : function(data) {
               var _w = window.SWther.w[citytq][0];
               var _f= _w.f1+"_0.png";
               if(new Date().getHours() > 17){
                    _f= _w.f2+"_1.png";                
               }
               var img = "<img width='70px' height='60px' src='http://i2.sinaimg.cn/dy/main/weather/weatherplugin/wthIco/20_20/" +_f
               + "' />";
               var tq = citytq + " " + img + " " + _w.s1 + " " + _w.t1 + "℃~" + _w.t2 + "℃  " + _w.d1 + _w.p1 + "级";
               //#weather自己修改,天气样式自己打断点调试
                alert(tq);
           }
       });
   });
  } 

$(document).ready(function (){
    var city = '内蒙古';
    $.getScript("http://php.weather.sina.com.cn/iframe/index/w_cl.php?code=js&day=2&city="+city+"&dfc=3",function(){
            alert(window.SWther.w[city][0].s1);
    })
});

2.常规错误说明

    我在调用时window.SWther.w[citytq][0]取值一直为undefined。经查明是由于页面编码格式导致,新浪天气接口默认应该是gbk,我的页面默认是UTF-8,所以在这种情况下,讲请求链接后加入&charset=utf-8即可解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值