使用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)
}
使用这个express中间件解决了:
app.use(express.json());