58일차: Open Weather API 사용
10116 단어 htmlcssjavascript100daysofcode
코드:
const input = document.getElementById("input");
input.addEventListener('keyup', async (event) => {
event.preventDefault();
if (event.keyCode === 13) {
const typedString = document.getElementById("input").value;
await axios(`https://api.openweathermap.org/data/2.5/weather?q=${typedString}&APPID=72a730baaa2ebd7a0edabe3d09b870c2`, {
"method": "GET"
}).then(response => {
let data = response.data
console.log(data);
const city = document.querySelector('.city');
city.textContent = `${data.name},`
const country = document.querySelector('.country');
country.textContent = data.sys.country
const weather = document.querySelector('.weather');
weather.textContent = data.weather[0].description
const temp = document.querySelector('.degrees')
temp.textContent = `${Math.round(data.main.temp - 273.15)}°`;
const humidity = document.querySelector('#humidityRate')
humidity.textContent = `${data.main.humidity}%`
const cloudRate = document.querySelector('#cloudRate');
cloudRate.textContent = `${data.clouds.all}%`
}).catch(err => {
console.log(err);
});
}
})
코드는 다음과 같이 설명했습니다.
입력 요소에 이벤트 리스너를 연결하고 있습니다.
keyup
키를 놓으면 발생합니다. 이벤트가 다른 시간에 계속 실행되는 것을 원하지 않기 때문입니다. 사용자가 키 코드 13을 입력할 때만 이벤트가 실행되도록 지정했습니다. 다음으로 Open weather API에 대한 get 요청을 만든 다음 내 페이지에 수신된 데이터를 업데이트합니다. fetch를 사용하면서 JSON으로 작업하는데 어려움이 있어서 Axios로 바꿨습니다. 반면 Axios는 JSON을 자동으로 변환하므로 작업하기가 더 쉽습니다.리포지토리는 다음과 같습니다. Weather App Repository .
또한 자바 스크립트로 날짜와 시간을 업데이트하고 있습니다.
let today = new Date()
const day = document.querySelector('#day');
day.textContent = `${today.getDate()}th`
const month = document.querySelector('#month');
month.textContent = today.toLocaleString('default', { month: 'long' })
const year = document.querySelector('#year');
year.textContent = today.getFullYear()
그것이 오늘의 전부였습니다.
58일차
Reference
이 문제에 관하여(58일차: Open Weather API 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/mtee/day-58-273o텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)