리액트
AJAX(axios 이용하기)
kny_0
2022. 6. 9. 00:28
설치
npm install axios
AJAX
서버에 GET, POST 요청을 할 때 새로고침 없이 데이터를 주고 받을 수 있게 도와주는 간단한 브라우저 기능
GET 요청
import axios from 'axios'
function App(){
return (
<button onClick={()=>{
axios.get('URL').then((결과)=>{
console.log(결과.data)
})
.catch(()=>{
console.log('실패')
})
}}>버튼</button>
)
}
axios.get(URL)을 하면 URL로 GET 요청이 된다. 가져온 데이터는 결과.data 안에 들어 있다.
실패한 경우 코드는 .catch()에 작성해 준다.
POST 요청
axios.post('URL', {name : 'kim'})
위 코드를 실행하면 POST 요청이 되어 서버로 { name : 'kim' } 이 전송된다.
완료 후 특정 코드를 실행시키고 싶으면 .then()을 사용한다.
동시 요청
Promise.all( [axios.get('URL1'), axios.get('URL2')] )
URL1, URL2로 동시에 GET 요청을 할 수 있다.
*fetch 이용
fetch('URL').then(결과 => 결과.json()).then((결과) => { console.log(결과) } )
json으로 바꾸는 작업이 필요하다.