首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >地下10天天气预报API

地下10天天气预报API
EN

Stack Overflow用户
提问于 2013-05-01 05:49:10
回答 2查看 2K关注 0票数 0

我试图在下面的loaded10DayForcast函数中获得10天的预测,但我得到了以下错误:

代码语言:javascript
复制
Cannot read property 'simpleforecast' of undefined

看起来我不知道基于这个的正确的api调用:http://www.wunderground.com/weather/api/d/docs?d=data/forecast10day

这很奇怪,因为我能够正确地显示当前条件。

代码语言:javascript
复制
  //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);

}
EN

回答 2

Stack Overflow用户

发布于 2013-05-02 02:15:38

在您的代码示例中,您有一个名为"loaded10DayForecast“的方法,因为您试图访问一个不存在于JSON树中的对象。

我认为你想这么做:

...jsonObject.forecast.simpleforecast.forecastday.low.fahrenheit...

票数 0
EN

Stack Overflow用户

发布于 2018-02-25 02:07:10

代码语言:javascript
复制
// 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天

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16309537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档