2013-06-22 63 views
0

我想在窗體加載中從天氣api中檢索一些數據。我也是ajax中的新成員,並且我不知道表單加載中的ajax工作。這裏是我的代碼。 謝謝,我的阿賈克斯很簡單,但不起作用

<!DOCTYPE html> 
<html> 
<head> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <script src="js/jquery-1.7.1.min.js"></script> 

    <script type="text/javascript" charset="utf-8"> 
$(document).ready(function() { 
    $.ajax({ 
     type:"GET" 
     , url:"http://api.openweathermap.org/data/2.5/weather?q=London,uk" 
     , dataType:"json" 
     , success: function(data){ 

      $('#result').text(data) 

     } 
    }); 
}); 
</script> 
</head> 
<body> 
<div id="result"></div> 
</body> 
</html> 
+0

你得到什麼樣的錯誤?在瀏覽器控制檯中查找,如在Firefox/Chrome中點擊F12。 – Stefan

回答

1

我認爲這將是

$('#result').text(data + "OKkkkkk"); 

而且我不認爲通過cross domain AJAX交流會,你也越來越JSON數據,因此你需要過濾的數據和能顯示。

根據自己的需要,你需要像

$.ajax({ 
    type:"GET" 
    , url:"http://api.openweathermap.org/data/2.5/weather?q=London,uk" 
    , dataType:"json" 
    , success: function(data){ 

     $('#result').text("data" + "OKkkkkk") 

    }, 
    error : function(){ 
     alert('Ajax call was failed'); 
    } 
}); 

錯誤塊。如果Ajax調用成功,那麼它將轉到成功塊並輸入結果數據到結果股利或如果失敗,則它會發送到錯誤塊的提醒

+0

嗨Gautam3164,我怎麼知道我的ajax請求是否成功?我只想知道我的ajax工作。謝謝, – SAWAUNG

+0

看到我的編輯@SAWAUNG。你需要一個錯誤的功能。這就是它 – Gautam3164

1

您已將數據放在雙引號中,因此將其解釋爲文本。正確的方式是:

$( '#結果')文本(數據)

+0

是啊....它從@ Gautam3164複製:)爲什麼? –

3

你必須使用因爲瀏覽器的same origin policyjsonp格式。 另請注意,執行error回調有助於調試....如果您使用Chrome,ctrl+shift+J是您的朋友...(請注意,對於jsonp類型的調用,錯誤回調未被觸發,但它確實觸發了你的原代碼,又名JSON作爲的dataType)

$.ajax({ 
     type:"GET" 
     , url:"http://api.openweathermap.org/data/2.5/weather?q=London,uk" 
     , dataType:"jsonp" 
     , success: function(data){ 
      $('#result').text(data.name); 
     } 
     , error: function(e) { 
      alert(e); 
     } 
    }); 

工作jsfiddle

+0

太棒了!你的建議是工作。如果你沒事,我會問你爲什麼使用dataType:「jsonp」?爲什麼不使用「json」?再次感謝 – SAWAUNG

+0

看到這[維基百科文章](http://en.wikipedia.org/wiki/JSONP)和其他幾個問題和答案在這裏SO – rene