我正試圖製作一個天氣應用程序,顯示一週中多天的天氣和溫度。我目前正在使用openweathermap api來執行此類任務,事情是我想要的信息(即天氣的日期)只能以xml格式顯示。 由於我在ES6(ES2015)中重建它,出於學術原因,我也想使用fetch api,但是由於fetch方法解析它,它只是提供了一個錯誤。 所以我如何獲取它或mby有一個更好的方法來做到這一點。如何使用抓取API獲取XML
let apis = {
currentWeather: { //get user selected recomendation weather
api:"http://api.openweathermap.org/data/2.5/forecast/daily?lat=",
parameters: "&mode=xml&units=metric&cnt=6&APPID=/*api key*/",
url: (lat, lon) => {
return apis.currentWeather.api + lat + "&lon=" + lon +
apis.currentWeather.parameters
}
}
};
function getCurrentLoc() {
return new Promise((resolve, reject) => navigator.geolocation
.getCurrentPosition(resolve, reject))
}
function getCurrentCity(location) {
const lat = location.coords.latitude;
const lon = location.coords.longitude;
return fetch(apis.currentWeather.url(lat, lon))
.then(response => response.json())
.then(data => console.log(data))
}
getCurrentLoc()
.then(coords => getCurrentCity(coords))
我可以證實,有因爲沒有原生XML解析器取。請參閱https://developer.mozilla.org/en-US/docs/Web/API/Response#Methods。 – Marco