我想从MongoDB中删除项.我把所有项目都放到了一页上.然后,我使用map()将物品放到卡片上.一项在卡片中包含编辑BTN和删除BTN,删除BTN具有id(item.id).我抓取了这个id并发送到后端,并通过这个id删除了项目,但我得到了id的未定义.


const deletehandler = async (id) => {
  console.log(typeof id, id) // I am getting id = string
  
  try {
     await axios.delete('/api/delete', id)
  } catch (error) {
    console.log(error)
  } 
}

return ( ...
{
 getData.map(item => {
          return (
            <>
              <div key={item.name} className='card'>
                <span className='ps-2'>{item.name}</span>
               
                  <RiDeleteBin5Line style={{cursor: 'pointer'}}
                      onClick={() => deletehandler(item._id)}/>
                
              </div>
}

接口/删除文件夹:

import { getSession } from 'next-auth/react';
import db from "@/utils/db";
import User from "@/modules/User";


const handler = async (req, res) => {
  console.log(req.body) // ===> here I am getting undefine 


  await db.connect();
  await User.findByIdAndRemove(id)
  await db.disconnect(); 
  res.status(200).json({ message: 'success '})
};

export default handler


推荐答案

与axios.post()和axios.put()不同,axios.ete()的第二个参数是Axios选项,而不是请求正文.要发送包含删除请求的请求正文,应使用数据选项.

const deletehandler = async (id) => {
  console.log(typeof id, id) // I am getting id = string
  
  try {
     await axios.delete('/api/delete', { data: {id} });
  } catch (error) {
    console.log(error)
  } 
}

https://masteringjs.io/tutorials/axios/delete

Node.js相关问答推荐

利用Gemini:通过Vertex AI还是通过Google/generative-ai?

即使DDB键不存在, node Lambda也不会失败,并返回NULL作为结果

自动将Selify打开的Chrome窗口移动到Mac OS中的第三个显示器

在Nest.Js中,如何发送带有表单数据的正文请求并应用正文请求验证.附加的文件是可选的

无法从MongoDB文档中保存的对象数组中获取对象的属性

如何防止Socket-io实例化React/Next.js中的两个套接字(当前在服务器*和*客户端实例化)

如何创建具有不同对象类型的数组类型

Next.js 路由不起作用 - 页面未正确加载

GitLab 依赖扫描需要源代码中的 package-lock.json 才能执行

每秒从套接字传来的数据有哪些存储方式?

将 express js app.use() 移动到另一个文件

将已保存的卡片从条带显示到前端

为什么需要在 NodeJS 应用程序中创建服务器?

Socket IOFlutter 未连接

Node.js 表达的 Error 对象expose 了哪些属性?

如何从命令行在 Node.js 上运行 Jasmine 测试

Bootstrap 中的 Grunt 依赖冲突

npm install - javascript堆内存不足

从 node.js 连接到 mongodb 时出现 ECONNREFUSED 错误

webpack-dev-server 找不到模块webpack