node.js - Node.js DELETE 请求返回错误响应
问题描述
我正在我的 nodejs 服务器上发出 DELETE 请求,但响应是错误的。
当我尝试在我的本地主机服务器上发送 DELETE 请求时,它返回
成功:0,消息:“未找到记录”
但是当我去检查数据库时,参数消失了
index.js
require("dotenv").config();
const express = require("express");
const app = express();
const userRouter = require("./api/users/user.router");
var cors = require('cors');
var corsOptions = {
origin: "http://localhost:3000"
};
app.use(cors(corsOptions));
app.use(express.json());
app.use("/api/", userRouter);
const port = process.env.PORT || 4000;
app.listen(port, () => {
console.log("server up and running on PORT :", port);
});
user.router.js
const router = require("express").Router();
const {
deleteUtenti
} = require("./user.controller");
router.delete("/", deleteUtenti);
module.exports = router;
用户控制器.js
const {
deleteUtenti
} = require("./user.service");
module.exports = {
deleteUtenti: (req, res) => {
const data = req.body;
deleteUtenti(data, (err, results) => {
if (err) {
console.log(err);
return;
}
if (!results) {
return res.json({
success: 0,
message: "Record Not Found"
});
}
return res.json({
success: 1,
message: "user deleted successfully"
});
});
}
};
用户服务.js
const pool = require("../../config/database");
module.exports = {
deleteUtenti: (data, callBack) => {
pool.query(
`delete from utenti where email = ?`,
[data.email],
(error, results, fields) => {
if (error) {
callBack(error);
}
return callBack(null, results[0]);
}
);
}
};
是代码问题还是服务器问题?
几天前,我用另一个函数发生了同样的事情,但要解决它就足以在数据库中重新创建表,我尝试做同样的事情但它没有用
解决方案
我刚刚发现了问题,results[0]
在user.service.js上没有读取数据库的响应,所以为了做一些测试,我将它更改为results
来自数据库的所有响应都出来的地方,我看到我只需要使用受影响的Rows来自数据库的响应,所以我将其更改为results.affectedRows
,现在一切正常。
推荐阅读
- python - 我想从这个页面刮掉所有的商业链接
- google-apps-script - Google Apps 脚本 - 如何让我的 AdminDirectory.Users.List 查询被接受?
- docker - 在入口点文件中导出环境变量不起作用?
- laravel - 更新时从空值创建默认对象
- outlook-addin - 共享邮箱的 On-send
- python - 如何通过操作另一列来创建新列?熊猫
- android - ViewBinding - 不同风格的布局资源
- python-3.x - 使用 Tkinter 去除图像周围的空白
- c - C 指针:如何生成以下输出?
- delphi - 如何使用 TIdFTP 进行 sFTP