首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >本地天气应用FreeCodeCamp

本地天气应用FreeCodeCamp
EN

Stack Overflow用户
提问于 2017-03-01 11:45:14
回答 2查看 1K关注 0票数 0

试图找出免费的生态管理任务,但它甚至无法跟踪youtube教程fuyYnI&t=1385s。请帮忙,这个代码有什么问题吗?

代码语言:javascript
复制
var API_KEY = "xxxxxxxxxxxxxxxxxxxxxx";

$(function () {
    var loc;
    $.getJSON('http://ipinfo.io', function (d) {
        console.log("assigning the data...")
        loc = d.loc.split(" , ");
        console.log(loc);
        $.getJSON('http://api.openweathermap.org/data/2.5/weather?lat=' + loc[0] + '&lon=' + loc[1] + '&APPID=' + API_KEY, function (wd) {
            console.log("got the data ,", wd);
        })
    })
})
EN

回答 2

Stack Overflow用户

发布于 2017-03-01 15:42:36

不要在",“(注意空格)上分裂”,“

不是:

代码语言:javascript
复制
loc = d.loc.split(" , ");

但是:

代码语言:javascript
复制
loc = d.loc.split(",");

来自split.asp

语法:string.split(分隔符,限制) 分隔符:可选。指定用于拆分字符串的字符或正则表达式。如果省略,整个字符串将被返回(一个只有一个项的数组)。 限制:可选。指定拆分数的整数,拆分限制后的项将不包含在数组中。

通过使用多个字符的字符串,我认为JavaScript将其解释为正则表达式。

票数 1
EN

Stack Overflow用户

发布于 2017-04-24 21:31:51

如前所述,问题在于逗号周围的空格是否存在于:

代码语言:javascript
复制
loc = d.loc.split(" , ");

相反,这应该是:

代码语言:javascript
复制
loc = d.loc.split(",");

原因:来自ipinfo.io IP查找API的响应包含一个JSON对象,loc字段是坐标逗号,没有空格分隔。

例如:

代码语言:javascript
复制
{
  "ip": "203.205.28.14",
  "hostname": "static.cmcti.vn",
  "city": "Ho Chi Minh City",
  "region": "Ho Chi Minh City",
  "country": "VN",
  "loc": "10.8142,106.6438",
  "org": "AS45903 CMC Telecom Infrastructure Company"
}

建议:在发布已完成的freeCodeCamp挑战时,避免暴露您的开放天气地图私钥(appid) (我使用CodePen,我不喜欢公开私钥的想法,因此我编写了一个JS脚本,任何人都可以将其复制和粘贴到一个新的Google中,并将其用作传递服务)。

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

https://stackoverflow.com/questions/42530859

复制
相关文章

相似问题

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