我有以下代码:
var weatherstations =
[{"Name":"city1","Code":"CODE1"},
{"Name":"city2","Code":"CODE2"},
{"Name":"city3","Code":"CODE3"},
{"Name":"city4","Code":"CODE4"},
{"Name":"city5","Code":"CODE5"}];
$.each(weatherstations, function(key,value) {
//console.log(value.Name); // shows the city in the console log
$.getJSON('http://www.domain.com/getweather-json.php?weatherstation=' + value.Code, function(result){
$.each(result, function(index, item){
console.log(item.clouds); // shows cloud variable in console log
// $('#wx').append('<h2>'+item.temp+'</h2><ul><li>'+value.Name+'</li><li>'+item.clouds+'</li><li>'+item.wind+'</li></ul>');
}); //.each json call
}); //.getjson
}); //.each weatherstations
我遇到的问题是......我没有获得5行(如果我有$(wx)行未注释),但20:每个城市有4行。 最重要的是... console.log(item)从json返回给我所有数据。如果我做console.log(item.clouds),那么我会回复“未定义”..为什么会这样?
JSON示例:{“clouds”:“多云”,“条件”:“”,“temp”:“12°F”,“wind”:“变化2 mph”}
(当我查看该网址中的json时,我看到一些空行然后是json ..不确定是否会导致4x城市出现)
答案 0 :(得分:0)
不确定为什么.each不起作用..以及为什么每次都会返回4行。
我将getJSON代码更改为:
$.getJSON('http://www.domain.com/getweather-json.php?weatherstation=' + value.Code, function(result){
$('#wx').append('<h2>'+result.temp+'</h2><ul><li>'+value.Name+'</li><li>'+result.clouds+'</li><li>'+result.wind+'</li></ul>');
}); //.getjson
现在它给了我所需的反馈。