2012-05-09 65 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開始使用?callback =作爲默認的JSONP請求處理任何getJSON請求,所以請求將仍然有效http://api.jquery.com/jQuery.getJSON/#jsonp – steveukx

+0

@steveukx相關知識,我將不得不確保我運行最新 – Mike