2012-05-09 2 views
0

왜 이런 일이 안되는지 나에게 알리지는 못하겠습니까?getJSON 출력이 없습니까?

<div class="clouds"> 

</div> 

<div class="station"> 

</div> 

<script type="text/javascript"> 
$.getJSON("http://api.geonames.org/findNearByWeatherJSON?lat=53.36652&lng=-2.29855&username=jolones&callback=?", 
function(data){ 

      var clouds = data.weatherObservation.clouds; 
      var station = data.weatherObservation.stationName; 

     jQuery.(".clouds").html(clouds); 
     jQuery.(".station").html(station); 

     }); 

많은 감사

+0

oops - 신경 쓰지 마시오. – hvgotcodes

+0

응답을 디버깅하려면'console.log (data);'를 사용하십시오. – Stefan

+1

jslint를 통해 이와 같은 문제를 실행하면 오류가 여러 번 분리됩니다. :) –

답변

3
jQuery . (".clouds").html(clouds); 
jQuery . (".station").html(station); 

당신이 그 점을 의미합니까?

jQuery(".clouds").html(clouds); 
jQuery(".station").html(station); 
+0

나는 나 자신이 싫지만 나는 너를 대단한 팬이다. 감사합니다. –

+0

괜찮습니다. @Mike가 말한 것처럼 보이는 것은 문제이기는하지만. – Bort

+0

"마이크"문제는 여기에 표시되지 않습니다. http://jsfiddle.net/YxcWy/1/ - 맨체스터 어에 흩어져있는 구름 –

0

브라우저 보안 정책을 사용하면 json (xmlhttpReqeusts)을 다른 도메인으로 만들 수 없습니다. JSONP가 어떻게 작동하는지 조회해야하는데, geonames.org가 jsonp 메서드를 제공하면 유용 할 수 있습니다 (jsonp는이를 수행하고 다른 도메인을 호출 할 수 있습니다).

또 다른 옵션은 API를 원격으로 호출하는 로컬 PHP 스크립트를 만드는 것입니다. PHP는 원격 API를 호출하는 것이 금지되어 있지 않으므로 PHP를 사용하여 json 결과를 검색 한 다음 javascript를 사용하여 로컬 (동일한 도메인에있는) PHP 프로그램에서 결과를 검색 할 수 있습니다.

+1

'& callback =?'으로 끝나고 JSONP 호출 일 가능성이 높습니다. – f0x

+1

jQuery 1.5는 기본적으로 JSONP 요청으로 URL에? callback =을 사용하여 getJSON 요청을 처리하기 시작 했으므로 요청은 여전히 ​​작동합니다. http://api.jquery.com/jQuery.getJSON/#jsonp – steveukx

+0

@steveukx 잘 알고 있습니다. , 나는 최신 버전을 실행하고 있는지 확인해야 할 것이다. – Mike