使用字符串引用.each循环中的对象

时间:2016-08-05 02:09:57

标签: javascript jquery ajax api

我正在使用forecast.io api,也会为仪表板上显示的3个城市创建一个小循环。使用html data-attribute值,将其注入我的JS循环以获取城市的名称。然后循环运行3次以输出当前天气。

该属性以字符串形式出现,然后我有3个变量名称与保存lat / long值的字符串相同。

我的问题是,如何将我从HTML中提取的字符串与定义了选项的对象相连接?一旦字符串在函数中,我希望这些值在API调用中可引用。

这是我的代码:

    $('[data-weather]').each(function(){
    var cityName = $(this).data('weather');
    var key = 'MY_KEY';
    var elem = this;

    var melbourne = {lat:-37.975478,long:145.094574};
    var hongkong = {lat:22.282826,long:114.154744};
    var singapore = {lat:1.287172,long:103.860807};


    $.ajax({

        url: "https://api.forecast.io/forecast/"+key+"/"+cityName.lat+","+cityName.long,
        dataType: "jsonp",
        success: function( data ) {
            console.log( data.currently.temperature );
            var temp = data.currently.temperature;
            console.log( data.currently.summary );
            var weather = data.currently.summary;
            $(elem).html(weather+' / '+temp+'°');

        }
    });
})

}

我假设cityName中的字符串然后在循环的每个循环中引用定义的对象,然后允许将lat和long放入url中。此刻,字符串直接进入。我应该创建一个新对象,并在每次循环时推送变量值吗?

0 个答案:

没有答案