Javascript 在jQuery中选择和显示api数据

Javascript 在jQuery中选择和显示api数据,javascript,jquery,api,openweathermap,Javascript,Jquery,Api,Openweathermap,我试图显示OpenWeatherMapAPI中的天气预报数据——当我运行此代码并单击提交按钮时,它在我的页面上显示“未定义” var api_key = "&APPID=c0aa3c8995df1b0dd97032d0072333b3"; var api = "http://api.openweathermap.org/data/2.5/forecast?q="; var city = "Toronto"; var units = "&units=metric" $( "#su

我试图显示OpenWeatherMapAPI中的天气预报数据——当我运行此代码并单击提交按钮时,它在我的页面上显示“未定义”

var api_key = "&APPID=c0aa3c8995df1b0dd97032d0072333b3";
var api = "http://api.openweathermap.org/data/2.5/forecast?q=";
var city = "Toronto";
var units = "&units=metric"

$( "#submit" ).click(function() {
    input = $('#city');
    $(function(){
        var url = api + input.val() + api_key + units;
        $.getJSON(url, function(wd){
            document.write(JSON.stringify(wd.list.main));
        })
    })
});

列表是一个数组,您应该像这样访问它

wd.list[0].main.temp
另外,不需要使用stringify,这对我来说很好

document.write(wd.list[0].main.temp);
这是一个循环,看到了吗

var-api_-key=“&APPID=c0aa3c8995df1b0dd97032d0072333b3”;
变量api=”https://api.openweathermap.org/data/2.5/forecast?q=";
var units=“&units=metric”
$(“#提交”)。单击(函数(){
输入=$(“#城市”);
$(函数(){
var url=api+input.val()+api_key+units;
$.getJSON(url,函数(wd){
var list=wd.list;
$。每个(列表、函数(i、v){
文件。写入(“时间戳:+v.dt++”温度:+v.main.Temp++”最小:+v.main.Temp_最小值++”最大值:+v.main.Temp_最大值++”压力:+v.main.Pressure++“
”; }); }) }) });
wd看起来怎么样?
wd.list.main
可能未定义API返回正确的结构(我在浏览器中调用了它)。在使用返回的对象之前,可能需要将其解析回JSON对象。控制台wd,wd.list并检查两者的类型。
wd.list
是一个数组,当我运行时,因此
wd.list.main
未定义。
wd.list
数组中的条目是未来5天多伦多每隔3小时的天气预报。你能反映出来真是太好了!在小提琴上看不到你的成绩@jgerofsky这里很好用。。只需键入“Toronto”并单击submit。文本是黑色的,可能在屏幕上很难看到。。试试这个@jgerofsky也值得注意的是,我注意到地理编码对逗号和拼写错误有点挑剔。试试邮政编码。。这似乎效果更好。可能值得使用更好的地理编码api(如谷歌),并在将来将邮政编码发送到天气api
var api_key = "&APPID=c0aa3c8995df1b0dd97032d0072333b3";
var api = "https://api.openweathermap.org/data/2.5/forecast?q=";
var units = "&units=metric"

$( "#submit" ).click(function() {
    input = $("#city");
    $(function(){
        var url = api + input.val() + api_key + units;
        $.getJSON(url, function(wd){
            var list = wd.list;
            $.each(list, function(i,v) {
                 document.write("Timestamp: " + v.dt + " " + "Temp: " + v.main.temp + " " + "Min: " + v.main.temp_min + " " + "Max: " + v.main.temp_max + " " + "Pressure: " + v.main.pressure + "<br />");
            });
        })
    })
});