2017-04-03 116 views
0

我想從openweathermap網站獲取JSON數據。下面是我寫過的jQuery代碼。我的目標是在控制檯中記錄JSON數據。但是控制檯日誌沒有顯示任何內容。我嘗試了使用警報是否成功功能是否正常工作。但警報對話框沒有顯示出來。我無法找出問題所在。請幫助我。AJAX調用不工作(jQuery)

$(document).ready(function(){ 

    $("#submitButton").click(function(){ 

     //alert("Hello"); 
     return getWeather(); 

    }); 
}); 

function getWeather(){ 


    var city=$("#city").val(); 

    if(city != ''){ 

     $.ajax({ 


      url : 'http://api.openweathermap.org/data/2.5/weather?q=' + city + "&units=metric" + "&APPID=8eca04841762dd31f99510429e97970a", 
      type:"GET", 
      dataType:"jsonp", 
      success:function(data){ 

       //alert("hello"); 
       console.log(data); 
       $("#showWeather").html(); 
      } 

     }); 

    } 

    else{ 


     $("#error").html("<div>City field cannot be empty</div>"); 
    } 
} 
+0

.done(function(data){ console.log(data)} 

使用

當您調試這在瀏覽器的調試工具,什麼是AJAX請求的網絡響應? – David

+1

除了''success''回調處理程序外,您還可以實現一個''error''回調處理程序並記錄結果。 –

+0

@大衛,這是顯示請求待定 –

回答

2

使用http協議(不是https)的API鏈接。所以發生Mixed content error是可能的原因。

這就是爲什麼你在一些瀏覽器中看不到任何東西或注意到某些不安全的內容被隱藏的原因。

所以可能的解決方案是在您的網站上使用http來避免混合內容。但強烈建議在兩臺服務器上使用https。

+0

我已經嘗試了我在我的API調用中使用的鏈接我的瀏覽器。我在一家公司實習。當我在連接到他們的網絡的計算機上使用它時,它不工作。當我在不同網絡上的手機上使用它時,它工作正常。因此,任何想法我怎麼能克服這個? –

+0

您可以通過後端調用API(php file_get_contents)。所以實際上它將是API包裝。 –

+0

did'nt相當不錯,請你詳細說明,因爲這是我第一次使用API​​的。 –

0

我知道這是一個較舊的帖子,但我有同樣的問題。什麼工作對我來說是相反的

success:function(data){ 
console.log(data); 

      }