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();
分享下知心天气jsonp跨域访问的代码
原文地址:http://www.cnblogs.com/smallteeth/p/7435230.html