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

home2 게시판 Next.js 게시판 삭제기능 만들기 1 숙제

삭제기능 만들기 1 숙제

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

    김병화
    참가자
    코드를 맞게 짰는데 계속 안돼서 보니까 method === 'DELETE' 였어서 안되는거였어요.
    
    삭제 기능인데 왜 'DELETE'일 때는 동작 안하고 'POST'여야만 정상적으로 동작하는건가요?
    
    ```
    </pre>
    <pre>'use client';</pre>
    <pre>import Link from 'next/link';</pre>
    <pre>export default function ListItem({ result }) {
        // console.log(result);
        return (
            <>
                {result.map((e, i) => {
                    return (
                        <div className='list-item' key={i}>
                            <Link href={'/detail/' + result[i]._id}>
                                <h4>{e.title}</h4>
                            </Link>
                            <p>{e.content}</p>
                            <Link href={'/edit/' + result[i]._id} className='list-btn'>
                                ✏️
                            </Link>
                            <button
                                onClick={() => {
                                    fetch('/api/post/delete', {
                                        method: 'POST',
                                        body: result[i]._id,
                                    });
                                }}
                            >
                                🗑️
                            </button>
                        </div>
                    );
                })}
            </>
        );
    }</pre>
    <pre>```
    
    
    ```
    </pre>
    <pre>import { connectDB } from '@/util/database';
    import { ObjectId } from 'mongodb';</pre>
    <pre>export default async function handler(request, response) {
        if (request.method === 'POST') {
            // console.log(request.body);
            try {
                const client = await connectDB;
                const db = client.db('forum');
                let result = await db.collection('post').deleteOne({ _id: new ObjectId(request.body) });
                console.log(result);
                response.status(200).json('삭제 완료');
                // response.status(200).redirect(302, '/list');
            } catch {
                response.status(500).json('삭제 error');
            }
        } else console.log('error');
    }</pre>
    <pre>```
    
    
    
    #83587

    codingapple
    키 마스터
    DELETE요청은 body : 넣으면 어떤환경에선 가끔 안됩니다
2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 답변은 로그인 후 가능합니다.

About

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

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

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