javascript API调用导致旧数据
javascript API call results in old data
我有一个天气web api,我需要在网站上显示当前城市的天气报告。每当代码调用API时,它只会产生旧数据。数据永远不会改变,当我在浏览器上运行web API URL时,它的结果正是我想要的。请帮助我缓存数据的原因。
webAPI
http://api.openweathermap.org/data/2.5/weather?lat=26.894049&lon=80.942686&mode=json
我的代码
$.getJSON('http://api.openweathermap.org/data/2.5/weather?lat=' + lat + '&lon=' + lon + 'mode=json&rand=' + Math.random(), function (data) {
var wind = {};
var temp = {};
wind = data.wind;
temp = data.weather;
var clouds = '%' + data.clouds.all;
var description = data.weather[0].description;
var temp = data.main.temp - 273.15;
var humidity = data.main.humidity + '%';
var icon = data.weather[0].icon;
weatherImg = "<img height='"45'" width='"45'" style='"border: medium none; width: 45px; height: 45px;position:relative;top:-10px; background: url('http://openweathermap.org/img/w/" + icon + ".png') repeat scroll 0% 0% transparent;'" alt='"title'" src='"http://openweathermap.org/images/transparent.png'">";
document.getElementById('weatherImg').innerHTML = weatherImg;
document.getElementById('current_temp').innerHTML = (temp) + '°C';
document.getElementById('current_wind').innerHTML = ' ; ' + wind.speed + 'Km/h';
document.getElementById('city_name').innerHTML = data.name;
});
测试了您的代码在一段时间内运行良好,api响应很慢,但除此之外,对我来说一切都很好
htttp://jsfiddle.net/navneetccna/un2u5j0v
脚本前缀模式中的url不应该使用&。你应该把这个放在次要位置/说得更具体一些。你说你得到的是旧数据。您是否得到了一个根本不更改或很少更改的旧JSON响应?
相关文章:
- 对API数据使用声明性绑定
- 使用Angular获取数据API调用时出错
- Facebook网络数据API和D3.JS
- 使用播放按钮和/或元数据API(Spotify)进行现场演示
- YouTube 数据 API 说,当闲置几个小时时,我已经超过了每日使用限制
- 通过传递类别从维基数据 api 填充自动完成
- YouTube 数据 API:检查视频是否启用了分级
- 无法在 MVC 中使用 jquery/js 将 json 数据(API 结果)绑定到下拉列表
- 在 JavaScript 中处理 YouTube 数据 API 中的错误
- Youtube数据API-未压缩类型错误:无法读取属性'搜索'的未定义
- 如何在HTML5-音频/Mozilla音频数据API中进行平移
- YouTube数据API v3使用Javascript
- 如何检测浏览器支持HTML5微数据API
- Youtube数据API和谷歌云端点
- 引导数据api方式vs javascript方式
- 谷歌数据API SDK -过滤器编码/转义
- Youtube数据API v. 3 -显示私人/删除视频的频道作者名称
- Youtube数据API v3文件系统
- 如何根据jQuery's数据API
- Youtube数据API v3 -搜索视频使用逗号分隔的视频id