2013-04-30 3 views
0

Я пытаюсь получить прогноз на день 10 моей функции loaded10DayForcast ниже, но я получаю следующее сообщение об ошибке:Weather Underground Прогноз API день 10

Cannot read property 'simpleforecast' of undefined 

Похоже, я не знаю, правильный вызов апи на основе от этого: http://www.wunderground.com/weather/api/d/docs?d=data/forecast10day

Что странно, так как я могу правильно отображать текущие условия.

//Get the current weather conditions 

    function getCurrentConditions(text) { 

    console.log("\n") 

    var doc = new XMLHttpRequest(); 
    doc.onreadystatechange = function() { 

     if (doc.readyState == XMLHttpRequest.DONE) { 
      var jsonObject = eval('(' + doc.responseText + ')'); 
      loadedCurrentConditions(jsonObject); 
     } 
    } 

    doc.open("GET", "http://api.wunderground.com/api/KEY/forecast/geolookup/conditions/q/"+ text + ".json"); 

    doc.send(); 

} 

//Get the 10 Day Forcast 
function get10DayForcast(text) { 

    console.log("\n") 

    var doc = new XMLHttpRequest(); 
    doc.onreadystatechange = function() { 

     if (doc.readyState == XMLHttpRequest.DONE) { 
      var jsonObject = eval('(' + doc.responseText + ')'); 
      loaded10DayForcast(jsonObject); 
     } 
    } 

    doc.open("GET", "http://api.wunderground.com/api/KEY/forecast10day/q"+ text + ".json"); 

    doc.send(); 

} 

//Display to console 
function showRequestInfo(text) { 

    console.log(text) 
} 


function loadedCurrentConditions(jsonObject) 

{ 

    showRequestInfo("Current Temp F:" + jsonObject.current_observation.temp_f); 
    showRequestInfo("Weather Description:" + jsonObject.current_observation.weather); 
    showRequestInfo("Icon:" + jsonObject.current_observation.icon); 

} 

function loaded10DayForcast(jsonObject) 

{ 

    showRequestInfo("Today High Temp F:" + jsonObject.forecast.simpleforecast.forecastday.Forecast[0].low.fahrenheit); 

} 

ответ

0

В вашем примере кода, у вас есть метод, называемый «loaded10DayForecast» в том, что вы пытаетесь получить доступ к объекту, который не существует в дереве JSON.

Я думаю, что вы хотите сделать это:

... jsonObject.forecast.simpleforecast.forecastday [0] .low.fahrenheit ...

0
// JavaScript Document 

jQuery(document).ready(function($) { 

    /* Edit these variables */ 
    var api = "api key"; 
    var state = "Ks"; 
    var city = "McLouth"; 

// JavaScript Document 
    $.ajax({ 
    url: "http://api.wunderground.com/api/" + api + "/forecast10day/conditions/q/" + state + "/" + city + ".json", 
    dataType : "jsonp", 
    success : function(parsed_json) { 
     console.log(parsed_json); 
     for(var some in parsed_json.forecast.txt_forecast.forecastday){ 
     console.log("*************"); 
      $("#nxt10Days").append(" 
<b>"+parsed_json.forecast.txt_forecast.forecastday[some].title+" </b> <br />"+ 
parsed_json.forecast.txt_forecast.forecastday[some].fcttext+"<br />");        
console.log(parsed_json.forecast.txt_forecast.forecastday[some].title); 
     } 
    } 
    }); 
}); 
Следующая 10 день  
Смежные вопросы