我有一个天气网络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;
});
答案 0 :(得分:0)
测试你的代码对我工作正常api响应很慢但除此之外每件事看起来都不错
htttp://jsfiddle.net/navneetccna/un2u5j0v
答案 1 :(得分:0)
不应该在脚本前缀模式中使用&amp ;.你应该把它扔进一个小提琴/更具体。你说你得到旧数据。你得到的旧JSON响应根本没有变化,或者很少发生变化吗?