Prisma 的 orm post 在发帖时不起作用,请参见下面的错误

问题描述 投票:0回答:1

使用express和node制作一个简单的prisma应用程序,查询mysql本地数据库。 当执行await pisa.list.create()时,它会引发错误,请参见下文。

html页面的script.js:

  addItemForm.addEventListener('submit', async (event) => {
    event.preventDefault();
    const itemName = itemNameInput.value.trim();
    console.log(JSON.stringify({ itemName: itemName }))
    if (itemName) {
      try {
        await fetch('/backend/api/add-person', {
          method: 'POST',
          headers: {
            'Content-Type': 'application/json'
          },
          body: JSON.stringify({ itemName: itemName })
        });
        fetchData(); // Refresh the list after adding an item
        itemNameInput.value = ''; // Clear input field
      } catch (error) {
        console.error('Error adding item:', error);
      }
    }
  });

api.js:

  router.post('/add-person', async (req, res) => {
    const  itemName  = req.body.itemName;
    
    try {
      await prisma.list.create({
        data: {
          name: itemName
        }
      });
      res.redirect('/');
    } catch (error) {
      console.error(error);
      res.status(500).send('Error adding item to database');
    }
  });

错误:

   try {
   const  { name }  = req.body
   await prisma.list.create({
         data: {
       +   name: String
         }
       })

缺少参数

name

prisma 的列表型号:

model list {
  id   Int    @id @default(autoincrement())
  name String @db.VarChar(255)
}

https://i.stack.imgur.com/0PXQB.png

javascript node.js express post prisma
1个回答
0
投票

使用这个express中间件解决了:

app.use(express.json());

© www.soinside.com 2019 - 2024. All rights reserved.