ajax로 서버와 통신하면 새로고침 없이 GET / POST 요청 가능하다.
서버에 데이터를 요청할 때 정확한 규격에 맞춰서 요청해야 한다.
1. 어떤 데이터인지(URL 형식으로)
2. 어떤 방법으로 요청할지(GET or POST)
fetch('url')
.then(결과 => 결과.json())
.then(결과 => console.log(결과))

import axios from 'axios'
<button onClick={() => {
axios
.get('url') // axios로 해당 url로 GET요청
.then((result) => {
console.log(result.data)
}) // ajax 요청을 성공할 경우 코드 실행, 파라미터(result)는 실제 받아온 data값
.catch(() => {
console.log('실패')
}) // ajax 요청을 실패할 경우 해당 코드 실행
}}>더보기</button>
axios.get('url) > axios로 해당 url로 GET 요청
axios.post('url') > axios로 해당 url로 POST 요청(데이터 전송할 때 자주 쓰임)
.then(() => {}) > 요청을 성공했을 때 해당 코드 실행
.catch(() => {}) > 요청을 실패했을 때 해당 코드 실행
let [shoes, setShoes] = useState(data);
let [count, setCount] = useState(0);
let [btn, setBtn] = useState(true);
{btn == true ? (
<button
onClick={(e) => {
count == 0
? axios
.get(
'url',
)
.then((result) => {
let copyShoes = [...shoes, ...result.data];
setShoes(copyShoes);
setCount(count + 1);
console.log(count);
})
: count == 1
? axios
.get(
'url',
)
.then((result) => {
let copyShoes = [...shoes, ...result.data];
setShoes(copyShoes);
setCount(count + 1);
console.log(count);
})
: setBtn(false);
}}
>
더보기
</button>
) : null}
Promise.all([axios.get('/url1'), axios.get('/url2')])
.then(() => {
}) // 동시에 get 요청 성공했을 때 코드 실행
<button onClick={() => {
axios.post('url', {name : 'kim'})
}
ajax로 가져온 데이터를 html에 바인딩할 때 오류나는 이유?