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

home2 게시판 Next.js 게시판 코딩애플님 HTTP 메서드 질문드립니다.

코딩애플님 HTTP 메서드 질문드립니다.

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

    Japark
    참가자
    게시판 삭제버튼 구현하실때 DELETE 메서드를 사용하셔서 통신하셨는데
    제가 시도해봤을땐 서버측 에러만 발생하고 클라이언트 서버 모두 POST를 사용해야
    통신이 가능했습니다.
    
    타입스크립트를 사용했고 result변수를 제외하면 타입지정을 하지않았는데 그게 영향이 있는건지..
    현재 POST로 변경했을때는 정상동작하네요..
    
    POST가 주고받는 메서드로 알고있는데 POST를 사용해서 해결할 수 있는 문제면 굳이 DELETE를 사용하는건지
    성능적인 부분이나 다른 특정 무언가가 있을지 궁금합니다.
    
    ../del.ts
    
    import {connectDB} from "@/util/database";
    import { NextApiRequest, NextApiResponse } from "next";
    import { ObjectId } from "mongodb";
    export default async function handler(req: NextApiRequest, res: NextApiResponse) {
     if (req.method == 'POST') {
    try {
     let db = (await connectDB).db('forum')
     const body = JSON.parse(req.body)
     let result = await db.collection('post').deleteOne({
     _id : new ObjectId(body._id)
     });
     console.log('result',result)
     }
     catch (error) {
     res.status(500).end();
     }
     return res.status(200).end();
     }
    }
    
    ../notice
    
    'use client'
    import Link from "next/link";
    export default function NoticeItem({result}) {
     return (
     <div>
     {
     result.map((noticeItem, noticeIndex) => {
     return (
     <div className="list-item" key={noticeIndex}>
     <Link href={'/notice/' + result[noticeIndex]._id}>
     <h4>{result[noticeIndex].title}</h4>
     </Link>
     <Link href={'/edit/' + result[noticeIndex]._id}>수정</Link>
     <span onClick={() => {
     fetch('/api/post/delete', {
     method: 'POST',
     body: JSON.stringify( {
     _id : result[noticeIndex]._id
     })
     }).then(response => {
     if (response.ok) {
     window.location.href = '/notice';
     }
     });
     }}>삭제</span>
     <p>{result[noticeIndex].content}</p>
     </div>
     );
     })
     }
     </div>
     );
    }
    #90903

    codingapple
    키 마스터
    delete요청이 이뻐보여서일 뿐입니다 
    delete요청안되면 데이터 url 파라미터로 보내면 잘갈걸요
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 호 / 개인정보관리자 : 박종흠