我正在为我的网站制作本地天气小工具...
我已使用OpenWeather Api
成功显示数据
因为我没有足够的jquery / javascript经验,所以我很难在10天内加载数据......
我怎么能这样做,请一些帮助....任何形式的帮助或参考将不胜感激...
Html&脚本
<div id="fatehjang"></div>
<script type="text/javascript">
function getWeather(coords, callback) {
var url = 'http://api.openweathermap.org/data/2.5/forecast/daily?lat=33.568109&lon=72.642767&cnt=7';
$.ajax({
dataType: "jsonp",
url: url,
jsonCallback: 'jsonp',
data: { lat: coords[0], lon: coords[1] },
cache: false,
success: function (data) {
callback(data);
}
});
}
$(document).ready(function () {
var teams;
$.getJSON("http://api.openweathermap.org/data/2.5/forecast/daily?lat=33.568109&lon=72.642767&cnt=7", function (json) {
//do some thing with json or assign global variable to incoming json.
teams = json;
});
$(window).load(function () {
for (var team in teams) {
var obj = teams[team];
(function (team) {
coords = [team.Lat, team.Long]
getWeather(coords, function (data) {
var html = [];
html.push('<h2 class="heading-md">')
html.push('Maximum Humidity: ', data.main.humidity, ', ');
html.push('</h2>')
$("#fatehjang").replaceWith(html.join('')).css("background-color", "white");
});
}(obj));
}
});
});
</script>
**Html**
感谢您的时间
答案 0 :(得分:1)
变化
teams = json;
});
$(window).load(function () {
for (var team in teams) {
到
teams = json;
for (var team in teams) {
上面的更改只是执行&#34;显示&#34;数据作为&#34;成功的一部分&#34;打回来。由于getJSON是异步的,唯一安全的地方就是成功回调的一部分 - 我见过的人(我和他们一起工作)&#34;假的&#34;它与setTimeouts等等,并且他们认为他们已经钉了它,直到服务器需要额外的秒来响应 - 然后所有的地狱都松了:p