jquery输出循环并且无法获取getjson值

时间:2015-02-19 22:56:02

标签: jquery json 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:每个城市有4行。 最重要的是... console.log(item)从json返回给我所有数据。如果我做console.log(item.clouds),那么我会回复“未定义”..为什么会这样?

JSON示例:{“clouds”:“多云”,“条件”:“”,“temp”:“12°F”,“wind”:“变化2 mph”}

(当我查看该网址中的json时,我看到一些空行然后是json ..不确定是否会导致4x城市出现)

1 个答案:

答案 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

现在它给了我所需的反馈。