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

home2 게시판 Node.js, Express 게시판 post 요청 시 post요청한내용 : ""으로 저장될 때

post 요청 시 post요청한내용 : ""으로 저장될 때

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

    김지우
    참가자
    리뷰 기능을 만들고 있는데 post 요청시 자료가 조금 이상하게 저장되어서 선생님께 질문드립니다!
    가르쳐 주신대로 게시물 번호를 달아서 저장했는데 저장하려는 내용이 key 이고 '' '' 가 value 인 object 가 저장되고 맙니다
    제가 useState 를 사용해 초기값을 '' 로 빈 스트링을 저장해서 그런 것 같은데 해답이 잘 떠오르지가 않습니다
    어떻게 하면 이를 해결할 수 있을까요?
    
    아래는 버튼을 누르면 e.target.value인 리뷰 state를 post 요청하는 코드입니다
    
    const [리뷰, 리뷰변경] = useState('');
    
    <Container className="col-md-8"><div className="product-box">
     <RatingIt></RatingIt>
     <InputGroup className="mt-1"
    onChange={(e)=>{
     e.preventDefault();
    리뷰변경(e.target.value)}}>
     <Form.Control className="m-3" as="textarea" rows={6} 
    placeholder="어떤 점이 귀여웠나요? 별점과 함께 10자 이상 작성해주세요!" />
     </InputGroup>
     <button className="buttonBlue mb-2" role="button" type="submit"
    onClick={() => {
     axios.post("/review", 리뷰).then((결과)=>console.log(결과)).catch(()=>console.log(리뷰))
     }}
    >
     제출하기
     </button>
     </div></Container>
    
    그리고 아래 사진처럼 이런 식으로 자료가 저장되고 있습니다
    
    아래는 server.js 의 코드입니다
    
    app.post('/review', function(요청, 응답){
     db.collection('ReviewCount').findOne({name : '게시물개수'}, function(에러, 결과){
    var 총게시물개수 = 결과.totalPost;
     db.collection('ReviewCount').updateOne( {name : '게시물개수' } , { $inc : { totalPost : 1 } } , function(에러, 결과){
     db.collection('Review').insertOne( { _id : (총게시물개수 + 1), 내용 : 요청.body } , function(){
     console.log('저장완료')
     응답.send('전송완료');
     });
     })
     });
    });
    #48474

    codingapple
    키 마스터
    서버에서 요청.body부터 출력해보면 됩니다
    #48605

    김지우
    참가자
    아아 서버에서 하나하나 출력해보니 이것저것 하면서 고칠 수 있었습니다!
    Object.keys(요청.body)[0]
    이렇게 하니 의도한 대로 잘 db 에 저장이 되네요! 감사합니다!
3 글 보임 - 1 에서 3 까지 (총 3 중에서)
  • 답변은 로그인 후 가능합니다.

About

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

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

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