Zoeeey
Stack flows in you
Zoeeey
  • 분류 전체보기 (155)
    • 💡 UXUI (4)
      • UXUI (2)
      • UI (2)
      • UX (0)
    • 🟨 JavaScript (66)
      • 개념 (42)
      • 정리 (2)
      • 문제풀기 (프로그래머스, 코딩애플) (15)
      • 응용하여 자동화or문제해결하기 (2)
      • 기타 (5)
    • ⚛️ React (49)
      • 개념 (27)
      • 개념(Redux) (3)
      • 정리 (4)
      • 문제풀기 (코딩애플: React) (15)
    • 📘 TypeScript (10)
      • 개념 (8)
      • 문제풀기 (코딩애플) (2)
    • 🌐 HTML,CSS (18)
      • 실무에서 자주 발생한 오류들 (10)
      • 뒤늦게 알아서 뼈아픈 유용한 CSS (6)
      • 기타 자주 쓰는 CSS (2)
    • 💻 CS (8)
      • CS (5)
      • 정규표현식 (2)
      • Git,Github (1)

태그

  • class
  • object
  • Ajax
  • json
  • redux
  • 코딩애플
  • UXUI
  • 삼항연산자
  • Props
  • JavaScript
  • axios
  • state
  • CSS
  • TypeScript
  • array
  • 프로그래머스
  • 오류
  • useEffect
  • CS
  • react
전체 방문자
오늘
어제
hELLO · Designed By 정상우.
Zoeeey

Stack flows in you

⚛️ React/개념

React : AJAX로 서버와 통신하기 (ajax, axios)

2023. 5. 26. 13:30

서버에 GET/POST 데이터 요청하기

서버에 데이터를 요청할 때는 아래같이 정확한 규격에 맞추어 요청해야 한다.

  1. 어떤 데이터인지 (URL)
  2. 어떤 방법으로 요청할지 (GET : 서버에서 데이터를 가져올 때 / POST : 데이터를 서버로 보낼 때)

요청하는 법

  • POST 요청을 날리고 싶으면 <form action="요청할 url" method="post">태그를 이용한다.
  • GET 요청을 날리고 싶으면 브라우저 주소창에 URL을 적는다.

그러나 이 방법은 브라우저가 새로고침이 된다는 단점이 있다.


AJAX

그래서 새로고침 없이 데이터를 주고받을 수 있게 도와주는 브라우저 기능인 AJAX를 쓴다.

AJAX로 GET/POST 데이터 요청하는 법

  1. XMLHttpRequest라는 옛날 문법 쓰기
  2. fetch()라는 최신 문법 쓰기
  3. axios같은 외부 라이브러리 쓰기

axios

설치

설치하려면 아래 명령어를 터미널에 입력한다.

npm install axios

사용

import axios from 'axios';

function Main(props){
  return (
    <>
    <button className="" onClick={()=> {
      axios.get('https://codingapple1.github.io/shop/data2.json')
      .then((data)=>{ console.log(data) })
      .catch(()=>{ console.log('fail') })
    }}>더보기</button>
    </>
  )
}
  • 상단에 axios를 import한다
  • axios.get('URL') 하여 해당 URL로 GET 요청을 보낸다
  • 데이터를 가져온 결과는 data 안에 들었다 (해당 콜백함수 안에서만 작동함, 이름 맘대로 바꿔도 됨)

요청이 실패할 경우 이유

인터넷이 안되거나 서버가 죽었거나 URL을 잘못 작성했거나...  그럴 땐 .catch() 안에 실패시 실행할 코드를 적으면 된다.


출처 : 코딩애플 https://codingapple.com/

저작자표시 비영리 동일조건 (새창열림)

'⚛️ React > 개념' 카테고리의 다른 글

React : props 중첩되어있을 때 편한 "Context API" (사용법)  (0) 2023.06.15
React : AJAX로 서버와 통신하기 (post, 동시에 요청 여러개 날리기, fetch)  (0) 2023.06.07
React : useEffect, clean up (실행조건)  (0) 2023.05.23
React : Lifecycle, useEffect (사용법)  (0) 2023.05.22
React : styled-components (설치 , 사용, 장단점), css파일 js에 종속시키기  (1) 2023.05.22
    '⚛️ React/개념' 카테고리의 다른 글
    • React : props 중첩되어있을 때 편한 "Context API" (사용법)
    • React : AJAX로 서버와 통신하기 (post, 동시에 요청 여러개 날리기, fetch)
    • React : useEffect, clean up (실행조건)
    • React : Lifecycle, useEffect (사용법)
    Zoeeey
    Zoeeey
    길게 생각하고 짧게 그리기

    티스토리툴바