Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 자바
- Security
- 코틀린
- JavaScript
- Vue
- jquery
- Eclipse
- 쿼리
- 방법
- error
- 알고리즘
- 생성
- 프로그래머스
- kotlin
- Java
- 함수
- 에러
- db
- JPA
- 시큐리티
- mybatis
- Spring
- 오라클
- oracle
- GitHub
- aws
- Git
- IntelliJ
- 넥사크로
- 스프링
Archives
- Today
- Total
송민준의 개발노트
axios 사용 본문
axios란?
- axios는 브라우저, node.js 등을 위한 프로미스 기반의 http 비동기 통신 라이브러리임.
특징
- 프로미스 활용(es6+)
- 요청과 응답 데이터의 변형
- JSON형태로 자동 변경
간단 사용법
해당 프로젝트 경로로 이동 후 아래 명령어 입력
npm install axios
package.json과 package-lock이 업데이트 됨.
코드 구조
<template>
<div>
Home
<div>
Board List :
<div v-if="loading">Loading...</div>
<div v-else>
Api result: {{boards}}
</div>
<ul>
<li>
<router-link to ="/b/1">Board 1</router-link>
</li>
<li>
<router-link to ="/b/2">Board 1</router-link>
</li>
</ul>
</div>
</div>
</template>
<script>
// axios 라이브러리 import
import axios from 'axios'
export default {
data() {
return {
loading: false,
boards: []
}
},
created() {
this.fetchData()
},
methods: {
fetchData() {
this.loading= true
// 프로미스 기반의 axios -> then, catch로 받음
axios.get('http://localhost:3000/boards')
.then(res => {
this.boards = res.data
})
.catch(res => {
this.$router.replace('/login')
})
.finally(() => {
this.loading= false
})
// const req = new XMLHttpRequest()
//
// req.open('GET','http://localhost:3000/health')
//
// req.send()
//
// req.addEventListener('load', () => {
// this.loading= false
// this.apiRes = {
// status: req.status,
// statusText: req.statusText,
// response: JSON.parse(req.response)
// }
// })
}
}
}
</script>
<style scoped>
</style>
'웹 > Vue' 카테고리의 다른 글
Vue - EventBus 정리 (0) | 2021.07.15 |
---|---|
Vuex 사용 (5) | 2021.03.23 |
Vue 토이프로젝트 github에 올리기(Atom, git bash 사용) (0) | 2020.02.14 |
vue local storage에 값 넣기(로컬 스토리지) (0) | 2020.02.14 |
뷰 CLI (0) | 2020.02.12 |