• 分享下知心天气jsonp跨域访问的代码


     var myWeather = (function(){
            var funShun = "https://api.thinkpage.cn/v3/weather/now.json?location=Fushun&callback=showWeather&"
            return {
                el : {},
                init : function(){
                    var that = this;
                    $.extend(that.el,{
                        'nowWeather' : $('.now-weather'),
                        'nowTemperature' : $('.now-temperature')
                    })
                },
                getUrl : function(){
                    var time = Math.round(new Date().getTime()/1000);
                    var str = "ts=" + time + "&ttl=30&uid=UF4C86B626";
                    var hash = CryptoJS.HmacSHA1(str, "nvczde0rd9tkkr3o");
                    var base = hash.toString(CryptoJS.enc.Base64);
                    var sig = encodeURIComponent(base); 
                    var url = funShun  + str + "&sig=" + sig;
                    return url;
                },
                getWeather : function(){
                    var that = this;
                    console.log(that.el.nowWeather)
                    $.ajax({
                        url:that.getUrl(),
                        jsonp : 'callback',
                        jsonpCallback : 'showWeather',
                        success : function(data){
                           function showWeather(data){
                                that.el.nowWeather.html(data.results[0].now.text)
                                that.el.nowTemperature.html(data.results[0].now.temperature)
                                $.cookie('weather', JSON.stringify(data))
                           }
                           eval(data);
                        }
                    })
                },
                rundev : function(){
                    this.init();
                    if($.cookie('weather') !=''){
                        var weather =  $.parseJSON($.cookie('weather'))
                        this.el.nowWeather.html(weather.results[0].now.text)
                        this.el.nowTemperature.html(weather.results[0].now.temperature)
                    }else{
                        this.getWeather();
                    }
                }
            }
        })()
        myWeather.rundev();
    

      

  • 相关阅读:
    提取ecshop的mysql类
    phpexcel读取excel的xls xlsx csv格式
    Awstats显示国家地区插件GeoIP安装
    GeoIP Legacy City数据库安装说明
    JavaArrayList和数组间的相互转换
    mysql 初步认识
    HTTP ContentType
    ibatis 增加调试方法
    你了解Java中的Future吗?
    Java 环境问题总结
  • 原文地址:https://www.cnblogs.com/smallteeth/p/7435230.html
Copyright © 2020-2023  润新知