Javascript 需要雅虎天气API的帮助

Javascript 需要雅虎天气API的帮助,javascript,yahoo-api,yahoo-weather-api,Javascript,Yahoo Api,Yahoo Weather Api,我很难将Yahoo API用于天气应用程序。我试图让它显示天气信息,用于小规模测试,只是风寒 index.html 您必须调用yahoo weather api的查询,您似乎忽略了这一点。 查询现在设置为*以便可以返回除wind之外的其他数据。加上一个变量var位置被分配到查询中,以覆盖所有区域。使用美国地区的州名称,例如城市框中的纽约,国家框中的纽约 <!DOCTYPE html> <html> <head> <script&g

我很难将Yahoo API用于天气应用程序。我试图让它显示天气信息,用于小规模测试,只是风寒

index.html


您必须调用yahoo weather api的查询,您似乎忽略了这一点。 查询现在设置为*以便可以返回除wind之外的其他数据。加上一个变量var位置被分配到查询中,以覆盖所有区域。使用美国地区的州名称,例如城市框中的纽约,国家框中的纽约

<!DOCTYPE html>
<html>
    <head>
        <script>

            function getLocation() {
               var city = document.getElementById("city").value;
               var country = document.getElementById("country").value;
               var location = city + "," + country;

                //create a script and add it to your page
                var script = document.createElement('script');
                script.src = "https://query.yahooapis.com/v1/public/yql?q=select * from weather.forecast where woeid in (select woeid from geo.places(1) where text='" + location + "')&format=json&callback=callbackFunction";
                document.getElementsByTagName('head')[0].appendChild(script);

                }


                var callbackFunction = function(data) {
                var wind = data.query.results.channel.wind;
                var wind_chill = wind.chill;
                var wind_speed = wind.speed;
                var wind_direction = wind.direction
                document.getElementById("chill").innerHTML = wind_chill;
                document.getElementById("speed").innerHTML = wind_speed;
                document.getElementById("direction").innerHTML = wind_direction;
                //alert(wind.chill);
            }
        </script>     

    </head>
    <body>
        City:<input type="text" id="city">
        Country/State in U.S.A<input type="text" id="country">
        <input type="button" onclick="getLocation()" value="Get Weather">
        <p>Wind Chill</p>
        <p id="chill"></p>
        <p>Wind Speed</p>
        <p id="speed"></p>
        <p>Wind Direction</p>
        <p id="direction"></p>
    </body>
</html>

投稿人Brian Glaz在这方面帮助了我,向我展示了如何将var位置分配给查询,以及如何在输入数据后调用查询。

您的问题是什么?发生错误?@Raptor很抱歉之前没有提到这一点。我想我忘记了一些东西,它没有显示当前的风寒,我不知道把丢失的信息放在哪里。检查浏览器中的开发者控制台。有任何JS错误提示吗?网络请求是否成功通过?@Raptor windchill未定义
function weather(){
var callbackFunction = function(data) {
var wind = data.query.results.channel.wind;
document.getElementById("demo").innerHTML = wind.chill; 
};
}
<!DOCTYPE html>
<html>
    <head>
        <script>

            function getLocation() {
               var city = document.getElementById("city").value;
               var country = document.getElementById("country").value;
               var location = city + "," + country;

                //create a script and add it to your page
                var script = document.createElement('script');
                script.src = "https://query.yahooapis.com/v1/public/yql?q=select * from weather.forecast where woeid in (select woeid from geo.places(1) where text='" + location + "')&format=json&callback=callbackFunction";
                document.getElementsByTagName('head')[0].appendChild(script);

                }


                var callbackFunction = function(data) {
                var wind = data.query.results.channel.wind;
                var wind_chill = wind.chill;
                var wind_speed = wind.speed;
                var wind_direction = wind.direction
                document.getElementById("chill").innerHTML = wind_chill;
                document.getElementById("speed").innerHTML = wind_speed;
                document.getElementById("direction").innerHTML = wind_direction;
                //alert(wind.chill);
            }
        </script>     

    </head>
    <body>
        City:<input type="text" id="city">
        Country/State in U.S.A<input type="text" id="country">
        <input type="button" onclick="getLocation()" value="Get Weather">
        <p>Wind Chill</p>
        <p id="chill"></p>
        <p>Wind Speed</p>
        <p id="speed"></p>
        <p>Wind Direction</p>
        <p id="direction"></p>
    </body>
</html>