2015-08-26 64 views
0

我正在嘗試使用Geolocation APIDark Sky API來構建純JS天氣應用程序。我對JavaScript很陌生,但非常樂意學習。我設法通過MDN網站上提供的腳本獲得用戶的立場。你可以看到my code here(我知道JS代碼應該在一個單獨的文件中 - 當一切運行平穩時我會改變它)。如何通過navigator.geolocation調用天氣API獲取經度和緯度?

這裏是我的問題:我如何使用用戶特定的經度和緯度調用Dark Sky API?我不確定如何編寫XMLHttpRequest。

下面是一個(原諒我提前)嘗試:

function getWeather() { 
    var xhr = new XMLHttpRequest(); 
    xhr.open("GET","https://api.forecast.io/forecast/30e55c9dada04d2fd66fb43429ff2c51/" + lat + "," + long + ,false); 
    output.innerHTML = "<p>"xhr"</p>" 
    } 
xhr.send(); 

我想我必須把的GetWeather功能爲getPosition函數內,因爲這兩個變量我感興趣的(緯度,經度)在本地定義。當我在腳本中添加getWeather函數時,getPosition不再運行,我不知道如何檢查getWeather函數調用是否成功。

感謝您的幫助!

+1

你見過這篇文章:http://stackoverflow.com/questions/247483/http-get-request-in-javascript? –

回答

0

爲了使您的調試生活更輕鬆,您需要學習使用瀏覽器工具來檢查瀏覽器中的網頁。大多數瀏覽器將顯示開發人員工具如果你按F12

你正在尋找的數據是位於xhr變量。根據響應的格式,你可能有xhr.responseText,xhr.responseXml等,甚至可能有錯誤代碼。

如果你想XHR對象暫時暴露在全球範圍內爲便於調試,你只需要使用「window.xhr =」取代「VAR XHR =」。

您應該檢查您的xhr對象並熟悉它以及可用的開發人員工具。

注意:您的請求是同步的。這被認爲是不好的做法,因爲它阻止並可能導致不良的用戶體驗。

祝你好運!

相關問題