방명록
- [Vue.js][문제해결] status: 200 대신 severStatus: 2가 넘어 오는 문제2022년 04월 23일 23시 21분 47초에 업로드 된 글입니다.작성자: DandyNow728x90반응형
Vue.js 프로젝트를 Node.js 서버와 연동하고 있다. MySQL DB의 데이터를 수정하는 기능을 구현하는데 [그림 2]와 같이 status 값이 넘어오지 않는 문제가 있었다.
아래 코드는 DB 데이터를 수정하기 위한 doSave() 함수인데 데이터를 성공적으로 수정하여 status 값 200이 뜨면 if 조건문을 실행하도록 하였다.
doSave() { this.$swal({ title: '카테고리 정보를 수정 하시겠습니까?', // text: "You won't be able to revert this!", icon: 'warning', showCancelButton: true, confirmButtonColor: '#3085d6', cancelButtonColor: '#d33', cancelButtonText: '취소', confirmButtonText: '저장' }).then(async (result) => { if (result.isConfirmed) { const loader = this.$loading.show({ canCancel: false }) const r = await this.$put( `/api/product/category/${this.selectedItem.product_category_id}`, { param: { category_name: this.selectedItem.category_name, category_description: this.selectedItem.category_description } } ) loader.hide() // put이 적용되었지만 status키값 200이 넘어 오지 않아 if 조건문 기능하지 않는 문제 발생 console.log(r) // 콘솔 로그 확인해 보니 serverStatus키와 값 2가 존재함 if (r.status === 200) { this.$refs.btnClose.click() this.$swal('카테고리 정보가 저장되었습니다.') this.getList() } } }) },
문제의 원인은 DB 데이터를 수정하는 put함수의 리턴 값에 붙은 .data 때문이었다.
async $put(url, data) { return ( await axios.put(url, data).catch((e) => { console.log(e) }) ).data },
다음과 같이 코드를 수정하니 [그림 2]와 같이 status 키와 값이 넘어왔다.
async $put(url, data) { return await axios.put(url, data).catch((e) => { console.log(e) }) },
728x90반응형'언어·프레임워크 > Vue.js' 카테고리의 다른 글
[Vue.js][문제해결] @click 이벤트에서 함수 호출 시 () 유무로 인한 문제 (0) 2022.04.26 [Vue.js][문제해결] axios 오류 errno: 1064 (0) 2022.04.25 [Vue.js][error] npm run serve 실행 에러 해결 | 'vue-cli-service'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는배치 파일이 아닙니다. | npm ERR! code ERESOLVE (0) 2022.03.19 [Vue.js][유튜브 강의 노트] 개발자의품격_한시간만에 끝내는 Vue.js 입문 #2 (0) 2021.11.25 [Vue.js][유튜브 강의 노트] 개발자의품격_한시간만에 끝내는 Vue.js 입문 #1 (0) 2021.11.23 다음글이 없습니다.이전글이 없습니다.댓글