2017-11-05 4 views
0

codepen:jQuery.Deferred exception: Cannot read property '0' of undefined" "TypeError: Cannot read property '0' of undefined을 사용하여 콘솔에서이 메시지를 계속 표시합니다.jQuery.Deferred exception : 정의되지 않은 "0"속성을 읽을 수 없습니다. "TypeError : 정의되지 않은 '0'속성을 읽을 수 없습니다.

내 자바 스크립트 코드 :

var api_key = "fa15d403d0ab55e3cfd6e0867bbb0114"; 
$(document).ready(function(){ 
    var loc; 
    //Call the location 
$.getJSON('https://ipinfo.io', function(data){ 
    loc = data.loc.split(","); 
    console.log(loc); 
}); 
    $.getJSON('http://api.openweathermap.org/data/2.5/weather?lat=' + loc[0] + '&lon=' + loc[1] + '&APPID='+ api_key, function(weather){ 
     console.table("c ,",weather); 
      }); 
}); 
+1

console.log (loc); –

+0

'loc'은 위치를 의미하므로 로그에 위도와 경도를 기록합니다. –

답변

1

그것은 당신이 undefined 객체의 0 속성을 읽기 위해 노력하고 의미합니다.

공유 한 코드를 기준으로 여기에서 발생합니다. loc[0] - loc은 정의되지 않았으므로 오류가 발생합니다.

비동기 순서 때문에 정의되지 않은 이유가 있습니다. 첫 번째 함수가 아직 loc 인 콜백을 실행하지 않았습니다. 두 번째 전화 안에 첫 번째 기능 (바로 뒤에 console.log 호출 바로 뒤)을 넣으십시오.

관련 문제