jquery 输出循环,无法获取 getjson 值
jquery output looping and can't get getjson values out
我有以下代码:
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 行:每个城市四行。
最重要的是.. console.log(item) 给了我从 json 返回的所有数据。如果我这样做 console.log(item.clouds),那么我会得到 "undefined"。这是为什么?
JSON 示例:{"clouds":"mostly cloudy","conditions":"","temp":"12°F","wind":"varies 2 mph"}
(当我查看 url 中的 json 时,我看到一些空行,然后是 json.. 不确定这是否会导致出现 4x 城市)
不确定为什么 .each 不起作用..以及为什么它每次 return 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
现在它给了我需要的反馈。
我有以下代码:
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 行:每个城市四行。 最重要的是.. console.log(item) 给了我从 json 返回的所有数据。如果我这样做 console.log(item.clouds),那么我会得到 "undefined"。这是为什么?
JSON 示例:{"clouds":"mostly cloudy","conditions":"","temp":"12°F","wind":"varies 2 mph"}
(当我查看 url 中的 json 时,我看到一些空行,然后是 json.. 不确定这是否会导致出现 4x 城市)
不确定为什么 .each 不起作用..以及为什么它每次 return 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
现在它给了我需要的反馈。