2017-03-01 6 views
-1

freecodecamp 작업을 알아 내려고했지만, youtube 튜토리얼 https://www.youtube.com/watch?v=XZXg_fuyYnI&t=1385s을 추적하는 것조차도 작동하지 않습니다. 이 코드에서 잘못된 점을 알려주십시오.현지 날씨 앱 FreeCodeCamp

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); 
     }) 
    }) 
}) 
+0

몇 가지 오류가 있습니까? – DanilGholtsman

+0

내가 지금 당장 생각할 수있는 것은 DanilGholtsman

답변

0

가 "," ","방금 분할 (공간주의)에 분할하지 마십시오

하지 :

loc = d.loc.split(" , "); 

그러나 : https://www.w3schools.com/jsref/jsref_split.asp에서

loc = d.loc.split(","); 

구문 : string.split (separator, limit)

구분 기호 : 선택 사항. 문자열을 분할하는 데 사용할 문자 또는 일반 표현식을 지정합니다. 생략하면 전체 문자열이 반환됩니다 (항목이 하나만있는 배열)

제한 : 선택 사항입니다. 분할 제한 후 분할의 수를 지정하는 정수 항목 개 이상의 문자로 된 문자열을 사용하여 배열

에 포함되지 않습니다, 나는 자바 스크립트를 정기적으로 해석되는 것을 생각하고 표현.

loc = d.loc.split(" , "); 

대신되어야 :

loc = d.loc.split(","); 

이유 :로부터 응답

0

로서 이미 문제가있는 콤마 주위의 공간이 존재하고, 제안 ipinfo.io IP lookup API에는 loc 필드의 좌표가 이 아닌 공백으로 분리 된 JSON 객체가 들어 있습니다.이

{ 
    "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" 
} 

제안 : 예를 들어

당신의 열기 날씨지도 노출되지 않도록 개인 키 (appid) 또한 완성 된 freeCodeCamp 도전을 게시 할 때 (나는 CodePen을 사용 나는하지 않았다 내 개인 키 아이디어가 드러나기 때문에 아무도 읽을 수있는 Open Weather Map Proxy JS 스크립트를 작성했습니다 복사 & 붙여 넣기 개인용으로 Google Script ts 앱을 사용하고 패스 스루 서비스로 사용하십시오.