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

home2 게시판 Next.js 게시판 삭제기능 만들기2 Ajax 이용시, 데이터 출력 오류

삭제기능 만들기2 Ajax 이용시, 데이터 출력 오류

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

    Kwanyong
    참가자
    (ListItme.js)
    'use client'
    import Link from 'next/link'
    function ListItem(props){
        return (
            <div>
                {
                    props.result.map((data, index)=>               
                      <div className="list-item" key={index}>
                        
                        <Link href={'/detail/' + data._id}>
                          <h4>{data.title}</h4>
                        </Link>
                        <Link href={'/edit/' + data._id} className="list-btn">✏️</Link>
                        <span onClick={()=>{
                          fetch('/api/post/delete', {
                            method : 'DELETE', body : data._id
                          })
                        }}>🗑️</span>
                        <p>1월 1일</p>
                      </div>
                )
              }
            </div>
        )
    }
    export default ListItem
    
    (delete.js)
    
    import connectDB from "@/util/database";
    import { ObjectId } from "mongodb";
    export default async function handler(req, res){
        const { _id } = req.body;
        if(req.method == "DELETE"){
            console.log('delete')
            // console.log(req)
            console.log(req.body)
            // const db = (await connectDB).db("forum")
            // let result = await db.collection('post').deleteOne({_id : new ObjectId(req.body._id)})
            res.status(200).json({message : "success delete"})
        }
    }
    
    선생님 안녕하세요
    강의에 나온대로 출력을해보면, req.body가 콘솔에 빈칸으로 출력이됩니다.
    (undefined 아님)
    
    질문1 : 코드는 잘못된부분이 없는거같은데.. 무슨문제일까요?
    
    그래서, ListItem.js 파일에서
    body: JSON.stringify({ _id: data._id })
    
    바디부분을 위와같이 바꾸고,
    
    delete.js파일에서
    
    const { _id } = req.body; 변수로 지정해주고
    console.log(new ObjectId(_id))
    
    
    이렇게 출력하면, 출력값 : new ObjectId("6444d222d4a7c071370ee793")
    
    console.log(_id) 
    이렇게 출력하면, 출력값 : undefined
    
    인데, 
    
    질문2 : 위에처럼 그냥 아이디만 (6444d222d4a7c071370ee790) 출력할 수는 없나요?
    
    
    
    
    #78674

    codingapple
    키 마스터
    delete요청은 body 넣으면 제대로 전송안되는경우가 간혹 있습니다 post로 바꿔봅시다
    #78775

    Kwanyong
    참가자
    답변감사합니다.
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 호 / 개인정보관리자 : 박종흠