Spring, Vue.js 질문드립니다

Spring, Vue.js 질문드립니다

작성일 2023.07.18댓글 1건
    게시물 수정 , 삭제는 로그인 필요

안녕하세요 컴공졸업후 취업학원 다니는 학생입니다.
뭔가 취업때문에 불안하고 걱정되서 혼자 프로젝트를 만들고 있는데요
학원선생님들도 Vue는 모른다고 하시고 물어볼사람이 없어서..... 질문좀 드리고 싶습니다 ㅜ

제가만드는 기능은

회원가입때 이름, 아이디, 비밀번호 , 휴대폰번호, ip를 등록하고

회원정보에서는 비밀번호, ip를 변경할수 있는 기능인데 비밀번호 변경 기능은 완성했는데 
 ip변경에서 애를먹고있습니다..!

이름,아이디,비밀번호를 입력후 DB에있는 정보와 일치시 폰인증번호를 보내고 일치시
확인을 누르면 모달창이 떠서 모달창에서 IP정보를 변경하고 싶은데 
문제는 IP정보가 안불러와집니다... 소스는

--------------------------jsp -------------
                 <div id="ip_find" class="tab-content">
                    <h2>IP변경</h2>
                    <div class="box">
                        <h3>회원정보에 등록한 휴대전화로 인증</h3>
                        <p>회원정보에 등록한 휴대전화 번호와 입력한 휴대전화 번호가 같아야, 인증번호를 받을 수 있습니다.</p>
                        <div class="form">
                            <label><span>아이디</span>
                            <input v-if="stateIp == 'Y'" type="text" v-model="ip_find_model.id" disabled>
                            <input v-else type="text" v-model="ip_find_model.id">
                            </label>
                            <label><span>비밀번호</span>
                            <input v-if="stateIp == 'Y'" type="text" v-model="ip_find_model.pw" disabled>
                            <input v-else type="password" v-model="ip_find_model.pw">
                            </label> 
                            <label><span>이름</span>
                            <input v-if="stateIp == 'Y'" type="text" v-model="ip_find_model.nm" disabled>
                            <input v-else type="text" v-model="ip_find_model.nm">
                            </label>
                            <label><span>휴대전화</span>
                            <input v-if="stateIp == 'Y'" type="text" v-model="ip_find_model.hp" placeholder="000-0000-0000" disabled>
                            <input v-else type="text" v-model="ip_find_model.hp" placeholder="000-0000-0000">
                            <button @click="ipFindPhoneAuth" type="button">인증번호 받기</button></label>
                            <label><span></span><input type="text" class="certification" v-model="ip_find_model.ck" placeholder="인증번호 6자리"></label>
                        </div>
                            <div class="btn_area">
                                <button @click="ipFindCk" type="submit">확인</button>
                            </div>            
                    </div>
                </div>
여기 입력하고 확인버튼을누르면

-----------------------javascript -------------------

ipFindPhoneAuth: function(){
    var ipFindModel = this.ip_find_model;
   
    if(ipFindModel.hp.indexOf('-') == -1){Toast.error("휴대전화 형식에 맞게 입력해주세요.");return;}
   
_axios.post('/com/ipFindPhoneAuth.do',{nm : ipFindModel.nm, hp : ipFindModel.hp, id : ipFindModel.id, pw : ipFindModel.pw}).then(function(response){
   vm.stateIp = response.data.state;
   
   if(vm.stateIp == 'Y'){
   alert("인증 번호 발송하였습니다.");
   }
   else{
   alert("인증 되지 않았습니다. 관리자에게 문의 바랍니다.");
   }
    }, function(error){
    Toast.error("오류가 발생했습니다.");
    });
    }, 

   
    ipFindCk: function(){
    var ipFindModel = this.ip_find_model;
   
    if(this.stateIp != 'Y'){Toast.error("인증번호 받기를 먼저 해주시기 바랍니다.");return;}
   
    _axios.post('/com/ipFindPhoneAuthCk.do',{check : ipFindModel.ck, hp: ipFindModel.hp}).then(function(response){
    var stateCk = response.data.stateCk;
   
    if(stateCk == 'Y'){
    alert("인증되었습니다. 비밀번호는 재설정 해주세요.");
    vm.showIpDetailModal = true;
    }
    else{
    alert("인증번호를 잘못 입력하였습니다.");
    }
   
    }, function(error){
    Toast.error("오류가 발생했습니다.");
    });
    },

여기서 일치시 vm.showIpDetailModal = true; 로 모달로 이동이되어서 

--------------------modal----------------------
        <modal v-if="showIpDetailModal" @close="showIpDetailModal = false" class="detailIpmodal">
  <div slot="header">
</div>
  <div slot="body">
  <div class="contents enrollment">
 
  <h3>IP 변경</h3>
  <!-- <div class="form2 viewerScrollbar"> -->
<table class="sub_table n7_left">
<thead>
<colgroup>
<col width="80%" />
<col width="20%" />
</colgroup>
</thead>
<tbody>
<tr>
<th colspan="2">*복수 IP 입력시, "*" 처리 (예: 123.456.789.*) 이용하여 구분</th>
</tr>
<tr>
<th>접근 IP</th>
<th></th>
</tr>
<tr>
</tr>
<tr v-for="accessIp in ipList">
<td>{{accessIp}}</td>
<td>
<span @click="delAccessIp(accessIp)"><i class="far fa-trash-alt"></i></span>
</td>
</tr> 
</tbody>
</table>
<!-- </div> -->
<!-- <div class="input_area">
<input style="width: 100%;" v-model="ipAdd" type="text" placeholder="000.000.000.000">
<input style="width: 100%;" type="text" placeholder="000.000.000.000">
</div> -->
</div>
<div class="btn_list_2" slot="footer">
<ul class="right">
<li><button @click="addAccessIp()">추가</button></li>
<li><button @click="saveAccessIp()">저장</button></li>
<!-- <li><button @click="pwUpdateClose">닫기</button></li> -->
</ul>
</div>
  </div>
 
  </modal> 여기서 accessIp 에 회원정보에 있는 ip가 들어와야합니다 

----------------vue.js--------
vm = new Vue({
    el: '#Privacy_find',
    data: {
    ip_find_model : {
    id : '',
    nm : '',
    hp : '',
    ck : '',
    pw : '',
    pwCk : ''
    },
    stateIp : 'N',
    showIpDetailModal: false,
    ipList: [],    
        ipYn: 'N'
    }, 
    created() {
    },
    mounted() { 
    this.$nextTick(function() {
$('.viewerScrollbar').mCustomScrollbar({ theme:"minimal-dark", scrollInertia:400 });
});
    },
    methods : {    
    search: function(){
    var _this = this;
        _axios.post('/com/privacyIpList.do', { id: this.ip_find_model.id }).then(function(response) {
    console.log(response.data.privacyList);
    var ip = response.data.privacyList[0].ip;
    if(ip != ''){
    ip = ip.replaceAll(" ", "");
    _this.ipList = ip.split(";");
    console.log("IP확인"); 
    console.log(_this.ipList); 
    console.log("IP확인"); 

    }
   
    }, function(error){
    Toast.error("오류가 발생했습니다.");
    });
   
    }, 

여기서 search: function()기능으로 컨트롤단인 /com/privacyIpList.do로보내면

@PostMapping("/privacyIpList.do")
@ResponseBody
public ResponseEntity<?> selectIpPrivacyList(@RequestBody UserSsoVO vo, HttpServletRequest request, HttpServletResponse response)  throws Exception{
EgovMap returnMap = new EgovMap();
HttpSession session = request.getSession();
String id = (String)session.getAttribute("ID");
vo.setId(id);
returnMap.put("privacyList", privacyService.selectPrivacyIpList(vo));

return new ResponseEntity<>(returnMap, HttpStatus.OK);
}

여기 컨트롤단에서 쿼리로 연결해서   SELECT seq
      ,ID
      ,PW
      ,NM
      ,HP
      ,IP
      ,mail
  FROM USER_TEST
  WHERE ID = #{id}여기서 ID값으로 IP를 가져오는데 

모달을 띄웠을때 search: function가 돌면서 ipList안에 데이터가 들어갈줄 알았는데 
콘솔과 컨트롤단 syso도 안찍힙니다.. 연결이 되어있다고 생각하는데 제 생각이 틀린건지
해볼건 다해본것같은데... 1주일동안 고생중인데 알려줄 고수님 계실까요 ㅜㅜ

글이 많이 난잡하고 길어서 죄송해요 ㅜ

답변 부탁드립니다 채택 꼭!! 드리겠습니다 부탁드립니다!



profile_image 익명 작성일 -

vo 에 ip 정보를 담지 않고 ID 만 담고있으니 안넘어오는거같네요

Spring, Vue.js 질문드립니다

... 질문좀 드리고 싶습니다 ㅜ 제가만드는... 들어와야합니다 ----------------vue.js-------- vm... 부탁드립니다 채택 꼭!! 드리겠습니다...

node.js vue.js 질문드립니다.

... 토이 프로젝트를 node.jsvue.js 를 사용해서 할 예정이라는데 뭐 부터 공부 해야할지 감이 오질 않아서요... 찾아보니 두개를 같이 쓰려면 frontend...

리액트와 vue.js 질문

리액트와 vue.js 많이 다른가요? 제가 웹 퍼블리셔로 일을... 둘중어느게 좋은지는 질문자님이 어느직장에 일하는지도... 추천드립니다. 반대로 스타트업처럼 도전적인 회사를...

java vue.js 모달창 질문드립니다..!

... OK); } -------------------------- 여기서 가져온 ipList가 vm = new Vue({ el... 추천 드립니다. 그 전 질문을 보았는데, privacyService.selectPrivacyIpList...

코드/Vue.js 왕초보 질문 드립니다

... 아래와 같은 폴더 구조로 Vue.js를 이용해서 간단한 홈페이지를 만들었습니다.... 너무 왕초보의 질문인듯합니다만... 도와주세요!! 폴더를 옮겨서 실행하면 안...

React.js Vue.js 질문있습니다.

React.jsVue.js를 배우고 싶은데 애초에 자바스크립트의 이해도가 낮습니다.... 추천드립니다. 리액트와 뷰 모두 자바스크립트를 기반으로 만들어져 있어서 공식홈페이지...

vue.js 관련 질문드립니다.

page1, page2가 있습니다. page1에 check = false라는 변수가 있고 page2에서 page1으로 이동하는 버튼이있습니다. 버튼을 클릭시 router path로 page1으로 이동 합니다....

vue.js 사이트 만드는 거 질문이요

... 궁금해져서 질문 남깁니당... cdn을 넣어 사용하는 방식은 vue가 선호하는 방식이... 추천드립니다. 예를 들어 vue를 학습하시는 과정에서 프론트엔드 관련 지식이나 개발...