2017-01-31 9 views
0

간단한 날씨 페이지를 만들려고합니다. Weather Underground API에서 사용자 위치의 좌표와 그 이후의 위치의 날씨 정보를 검색하고 싶습니다. 내 좌표에 대한 JSON 응답을 볼 수 있습니다. 그러나 JSON AJAX 함수를 사용하여 구문 분석 및 HTML에 표시 문제가 있습니다. 다음은 내 코드Weather Underground API에서 JSON 응답을 구문 분석 할 수 없습니다.

HTML입니다 :

<div class="container-fluid text-center"> 
<body> 
<div id="forecast"> 
<h1>Weather at <span id="location"> </span></h1> 
<div id="imgdiv"> 
<img id="img" src=""/> 
</div> 
<p>It is currently <span id="temp"> </span>°C with <span id="desc"> </span></p> 
<p>Wind: <span id="wind"></span></p> 

</body> 
</div> 

JQuery와;

var Geo={}; 
    var temp_f 
     //var key = ‘4d6eb96f1aa092b2’; 

     if (navigator.geolocation) { 
     navigator.geolocation.getCurrentPosition(success,error); 
     } 
     else { 
     alert('Geolocation is not supported'); 
     } 

     function error() { 
     alert("That's weird! We couldn't find you!"); 
     } 

    function success(position) { 
       Geo.lat = position.coords.latitude; 
       Geo.lng = position.coords.longitude; 
       Geo.url = "http://api.wunderground.com/api/4d6eb96f1aa092b2/forecast/geolookup/conditions/q/" + Geo.lat + "," + Geo.lng + ".json"; 

    $.ajax({ 
    url : Geo.url, 
    dataType : "json", 
    success : function(url) { 
     location = url['location']['city']; 
     temp_f = url['current_observation']['temp_f']; 
     $("#temp").html(temp_f); 
    } 
    }); 

} 

위치 및 임시 _ 값은 undefined입니다. 나는 매우 비슷한 게시물 Weather Underground API with Ajax을 아직 언급했지만 문제가 무엇인지 알아낼 수 없었습니다. 나는 이것을 새로운 것이므로 기본적인 것을 놓치면 변명하십시오.

+0

할 경고 (JSON.stringify (URL)) 또는 CONSOLE.LOG (JSON.stringify (URL)) 또한, 응답 당신이 무엇을 얻을 참조하시기 바랍니다 코드를 사용해보십시오 여기에 게시하십시오 – Jigarb1992

+0

'정의되지 않음'이 나타납니다. – Jio

+0

Geo.lat 및 Geo.lng의 값은 무엇입니까? – Jigarb1992

답변

1

나를 확인하는 것은 잘 작동합니다, 당신의 코드에서 발견 https://jsfiddle.net/jigarb1992/q1w8usq9/

문제는 여기 location = url['location']['city']; 될 수있다 javascriptlocation가 지정된 위치로 리디렉션됩니다.

난에 변경을가 jsfiddle

+0

예, 지금 작동하는 것 같습니다. 문제는 불필요한 변수를 선언 할 때 발생할 수 있습니다. 당신의 도움을 주셔서 감사합니다 – Jio