• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Node.js, Express 게시판 delete 응답.send

delete 응답.send

  • 이 주제에는 4개 답변, 2명 참여가 있으며 이수인2 년 전에 전에 마지막으로 업데이트했습니다.
5 글 보임 - 1 에서 5 까지 (총 5 중에서)
  • 글쓴이
  • #87793

    이수인
    참가자
    안녕하세요. 강의를 수강하고 있는 학생입니다. 글 주인만 list를 삭제할 수 있는 코드를 작성하다
    궁금한 점이 있어 질문 남깁니다.
     처음 마이페이지를 만들 때도 로그인이 안 되어있으면 화면상에 창이 띄어지게 
    
    app.get('/mypage', 로그인했니, function(요청, 응답){
    	응답.render('mypage.ejs', { 사용자 : 요청.user })
    })
    function 로그인했니(요청, 응답, next){
    	if(요청.user){
    		next()
    	}else{
    		응답.send("<script>if(!confirm('로그인이 안 되어있습니다.로그인하시겠습니까?'))location.href='/';else location.href='/login';</script>");
    	}
    }
    
    위의 코드처럼 응답.send를 처리했습니다. 로그인이 안 되어있으면 예상대로 confirm이 실행됐습니다.
    그래서 delete하는 것도 똑같이 작성했습니다.
    
    app.delete('/delete/:id', function(요청, 응답){
    	
    	console.log('a')
    	if(요청.user){
    		console.log('b')
    		db.collection('post').deleteOne(
    		{
    			_id : parseInt(요청.params.id)
    		},
    		function(에러, 결과){
    			console.log('삭제완료');
    			응답.status(200).send({message : '성공했습니다.'})
    		})
    	}else{
    		console.log('c')		
    		응답.send("<script>if(!confirm('로그인이 안 되어있습니다.로그인하시겠습니까?'))location.href='/';else location.href='/login';</script>");
    	}
    })
    
    코드는 위와 같습니다.
    
    로그인이 안 되어있다고 가정하고 실행시켜보면 console창에 a c 가 잘 출력되는데 confirm은
    실행이 안 됩니다. 그래서 응답.send가 필요가 없는 건가 싶어 지워서 작성하면 무한 로딩이 됩니다.
    
    서버 요청 방식이 delete일 때는 응답.send가 안 되는 것인가요? 제 생각이 틀렸다면 혹시 이유가 무엇인가요?
     
    #87821

    codingapple
    키 마스터
    delete요청은 ajax로 보내고 있는거면 서버는 응답시 성공이나 실패 메세지만 짧게 보내면 됩니다
    그리고 ajax요청하는 코드에서 서버가 특정 메세지 보내면 confirm() 실행하라고 코드짭시다
    #88259

    이수인
    참가자
    답변 정말 감사합니다만, 잘 이해가 되지 않습니다. delete의 요청에서는 응답할 때 실패 유무만 작성하는 건데, 저는 응답.send(......)처럼 작성해서
    confrim이 실행되지 않았다는 건가요? 그리고 list.ejs 파일의 ajax에서 서버로부터 요청을 받아서 confirm을 실행하라는 것이 맞나요?
    #88269

    codingapple
    키 마스터
    넴 ajax성공시 실행되는 함수안에서 서버가 어떤 메세지 보내면 confirm() 실행하라고 if문같은거 써봅시다
    #88718

    이수인
    참가자
    감사합니다 덕분에 해결됐습니다.
    
5 글 보임 - 1 에서 5 까지 (총 5 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠