meong_j
기록하는 습관.
meong_j
전체 방문자
오늘
어제
  • 분류 전체보기 (176)
    • 개인 공부 정리 (0)
    • 서버 운영 (37)
      • Linux (36)
    • Frontend (11)
      • Vue.js (10)
    • Backend (70)
      • Java (4)
      • Python (22)
      • Django (38)
      • Spring (6)
    • Database (5)
      • Oracle (4)
      • MySQL (1)
      • MariaDB (0)
    • Android (14)
      • Kotlin (6)
    • 배포 (9)
      • Docker (8)
      • AWS (1)
    • IT_study (29)
      • Coding test (17)
      • 알고리즘 (5)
      • 스터디 (6)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • github

인기 글

반응형

태그

  • 코틀린자료형
  • DHCP
  • 이차원배열정렬
  • 배포인프라
  • 안드로이드adaptor
  • django
  • docker
  • Kotlin
  • 테크커리어
  • SASS Variables
  • dp #알고리즘
  • 중첩라우트
  • Proxy
  • 리눅스인증
  • 개발자도서
  • 리눅스방화벽
  • cpu사용률
  • router-link
  • dockersecret
  • gabagecollecter

최근 댓글

최근 글

250x250
hELLO · Designed By 정상우.
meong_j

기록하는 습관.

Vue.js - axios 라이브러리 설치 및 활용
Frontend/Vue.js

Vue.js - axios 라이브러리 설치 및 활용

2021. 12. 15. 01:38
728x90
반응형

axios

axios는 브라우저 및 node에서도 쓰이는 HTTP client 이며, XMLHttpRequests를 만들어주어 request를 사용할 수 있는 라이브러리이다.

  • 간결하게 로직을 구성할 수 있다.
  • 데이터를 요청하고 응답받을 때 사용한다.
  • 자동으로 JSON 데이터를 변환해준다.
  • 거의 대부분의 브라우저를 지원한다.

https://github.com/axios/axios

 

GitHub - axios/axios: Promise based HTTP client for the browser and node.js

Promise based HTTP client for the browser and node.js - GitHub - axios/axios: Promise based HTTP client for the browser and node.js

github.com

 

axios 설치

npm install axios

터미널 창을 열고 npm install axios 명령어를 입력하면 axios 설치할 수 있다. 설치 후 package.json 파일에 axios 라이브러리가 추가된 것을 확인할 수 있다.

 

axios 사용전 XMLHttpRequests로 통신할 경우

    const req = new XMLHttpRequest()

    req.open('GET', 'http://localhost:3000/health')
    //  req.send() : 클라이언트 -> 서버 요청 보냄
    req.send()
    // send 완료 후 load 이벤트 호출
    req.addEventListener('load', () => {
      this.loading = false
      this.apiRes = {
        status: req.status, // code
        statusText: req.statusText,
        response: JSON.parse(req.response)
      }
      })

backend단과 api 통신으로 XMLHttpRequest를 사용하여 데이터를 호출하던 코드이다. 

 

axios 활용

import axios from 'axios'

<script> 태그 내 axios를 먼저  import해준다.

axios.get('http://localhost:3000/health')
      .then(res => {
        this.apiRes = res.data
      })
      .catch(res => {
        this.error = res.response.data
      })
      .finally(() => {
        this.loading = false
      })

성공일 경우 apiRes에 호출된 데이터를 담고, error일 경우 error메시지를 담는다.

XMLHttpRequest를 사용하여 통신할 때보다 훨씬 가독성이 좋고 편리하게 호출할 수 있다.

 

호출 결과(성공 / 에러)

 

 

 

반응형
저작자표시 비영리 변경금지 (새창열림)

'Frontend > Vue.js' 카테고리의 다른 글

Vue.js - 중첩 라우트  (0) 2021.12.14
Vue.js - 라우터링크(router-link)  (0) 2021.12.14
Vue.js - 라우터뷰(Router view)  (0) 2021.12.14
[Vue.js] Vue-Router 설치 및 적용하기  (0) 2021.12.14
Vue-Cli로 Vue.js 프로젝트 생성하기  (0) 2021.12.14
    'Frontend/Vue.js' 카테고리의 다른 글
    • Vue.js - 중첩 라우트
    • Vue.js - 라우터링크(router-link)
    • Vue.js - 라우터뷰(Router view)
    • [Vue.js] Vue-Router 설치 및 적용하기
    meong_j
    meong_j
    #it #개발일기 #개발공부 #개발자 #백앤드 #생각정리 #시간은 실력에 비례한다 #뭐든지 꾸준히 열심히 #오늘의 내가 내일의 나를 만든다

    티스토리툴바