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

home2 게시판 Node.js, Express 게시판 요청.user 질문있습니다

요청.user 질문있습니다

5 글 보임 - 1 에서 5 까지 (총 5 중에서)
  • 글쓴이
  • #54861

    이창민
    참가자
    안녕하세요 선생님!
    오늘도 찾아왔습니다 ㅠㅠ
    
    111이라는 계정으로 로그인 후 test.ejs/(게시물번호) 로 접속한 다음
     채팅방1 입장하기 버튼을 누르면
    111님이 입장함
    이라는 메세지를 출력하고 싶어서 코드를 작성해보았는데
    undefined님이 입장함 이라고 메세지가 나오는데
    
    제가 알기론 로그인했니 함수를 거치고
    응답.render('test.ejs', 사용자 : 요청.user) 을 하면 
    현재 로그인중인 사용자 정보를 다 받아서 볼수있는걸로 아는데
    왜 undefinded로 나올까요 ㅠㅠ
    
    
    --------server.js
    
    ///test로 접속하면 test.ejs 보여줌
    app.get('/test/:id', 로그인했니, function(요청, 응답){
    db.collection('post').findOne({_id : parseInt(요청.params.id)}, function(에러, 결과){
    console.log(결과)
    응답.render('test.ejs', { data : 결과, 사용자 : 요청.user })
     })
    })
    
    
    -------------------test.ejs----------------
    
    <body>
    <%- include('nav.html') %>
    <h4><%= data.제목 %>의 채팅방</h4>
     
    <div id="content" style="height:500px; border:1px solid black"></div>
    <input id="input1">
    <button id="room1">채팅방1 입장</button>
    <button id="room1-send">채팅방1에서 메세지 보내기</button>
     
    <script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-Fy6S3B9q64WdZWQUiU+q4/2Lc9npb8tCaSX9FK7E8HnRr0Jz8D6OP9dO5Vg3Q9ct" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/4.5.3/socket.io.js" integrity="sha512-iWPnCISAd/J+ZacwV2mbNLCaPGRrRo5OS81lKTVPtRg1wGTC20Cfmp5Us5RcbLv42QLdbAWl0MI57yox5VecQg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
    
    <script>
    var socket = io();
    $('#room1-send').click(function(){
    socket.emit('room1-send', $('#input1').val());
    document.getElementById('input1').value = null;
     })
    $('#room1').click(function(사용자){
    socket.emit('joinroom', '채팅방입장시켜줘')
    $('#content').append('<p>' + 사용자.id + '님이 입장함</p>')
     })
    socket.on('broadcast', function(data){
    $('#content').append('<div>' + data + '</div>')
     })
    </script>
    </body>
    </html>
    
    
    #54862

    이창민
    참가자
    server.js 에서 console.log(요청)
    찍어서 확인해도 저렇게 id는 잘 나오는데 왜그러는걸까요 ㅠㅠ
      
    
    user: { _id: 636b4230c0f3ff06dbda9535, id: '111', pw: '111' },
    #54876

    codingapple
    키 마스터
    script태그 안에서는 "<%= 사용자.id %>" 이런거 쓰면 됩니다
    #54894

    이창민
    참가자
    감사합니다
    추가로 게시물마다의 소켓 그룹채팅을 만들려면
    채널은 어떻게 설정해야하나요 ㅠㅠ
    test/33 링크에서 채팅방1접속하기누르고 메세지를 보내면 
    test/36  링크에서도 메세지가 확인이 되어버립니다 ㅠㅠ
    
    
    
    #54934

    codingapple
    키 마스터
    유저가 채팅요청하면 
    게시물의 _id를 이름으로하는 room같은걸 만들어서 거기로 다 보내주면 될듯요
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 호 / 개인정보관리자 : 박종흠