29. 회원 가입
- axios 설치
npm install axios --save
- 회원 가입 페이지 라우터 추가
1. join 파일 생성
2. 라우터 추가
2-1. index.js
import { createWebHistory, createRouter } from "vue-router";
import Home from '@/components/Home'
import Join from '@/components/Join'
const routes = [
{path:'/', name:'Home', component:Home},
{path:'/Join', name:'Join', component:Join},
]
const router = createRouter({
history: createWebHistory(),
routes,
});
export default router;
2-2. App.vue
<template>
<div id="nav">
<router-link to="/">home</router-link>|
<router-link to="/Join">Join</router-link>|
<hr />
<router-view />
</div>
</template>
<script>
</script>
<style>
</style>
3. 화면 확인
- 회원 가입 구현
if 문을 이용해 성공 유무 알림 표시와 성공 시 home으로 이동하도록 한다.
<template>
<div>
<h3>회원 가입</h3>
아이디 <input type="text" v-model="userid" placeholder="아이디 입력"/><br />
비밀번호 <input type="password" v-model="userpw" placeholder="비밀번호 입력"/><br />
이름 <input type="text" v-model="username" placeholder="이름 입력"/><br />
<input type="button" @click="handleJoin" value="회원가입" />
</div>
</template>
<script>
import axios from 'axios'
export default {
methods:{
async handleJoin(){
// 유효성 검사
if(this.userid.length === 0){
return alert('아이디를 입력하세요.');
}
if(this.userpw.length === 0){
return alert('비밀번호를 입력하세요.');
}
if(this.username.length === 0){
return alert('이름을 입력하세요.');
}
const url = "/REST/member/join";
const headers = {"Content-Type":"application/json"}
const body = {
userid : this.userid,
userpw : this.userpw,
username : this.username
}
const response = await axios.post(url, body, {headers});
console.log(response);
if(response.data.status === 200){
alert("회원 가입 되었습니다.");
this.$router.push({name:'Home'}); //성공 시 home으로 이동
}
else{
alert("회원 가입 실패했습니다.");
}
}
},
data(){
return{
userid : '',
userpw : '',
username : ''
}
}
}
</script>
<style scoped>
</style>
- 회원 가입
1. 유효성 검사

2. 회원 가입

3. db 확인

'프로젝트' 카테고리의 다른 글
31. 로그인 (0) | 2022.01.10 |
---|---|
30. 아이디 중복 확인 (0) | 2022.01.10 |
28. vue 생성(spring 연동) (0) | 2022.01.10 |
27. 선수 조회(포지션) (0) | 2022.01.08 |
26. 선수 조회(몸값) (0) | 2022.01.08 |