node.js - POST 路由指示 404 错误 (EXPRESS)
问题描述
在我的 POST 路由上出现 404 错误,这是我在 auth.js(路由)文件中所做的:
const express = require('express');
const router = express.Router();
const connection = require('../../helpers/db.js');
const bodyParser = require("body-parser");
router.use(bodyParser.json());
router.use(bodyParser.urlencoded({
extended: true
}));
//create a new user
router.post('/signup', function (req, res) {
const insert = `INSERT INTO users ( email, password, name, lastname) values ('${req.body.email}', '${req.body.password}','${req.body.name}', '${req.body.lastname}' )`
connection.query(insert, function (err, result) {
if(err) {
console.log('mysql error', error);
res.status(500);
res.send(error);
} else {
console.log('a new user was added!');
res.send('Congrats, new user!');
}
})
});
module.exports = router;
这是我的 app.js 文件:
const http = require("http");
const path = require("path");
const express = require("express");
const bodyParser = require("body-parser");
const morgan = require("morgan");
const app = express();
const authRouter = require("./routes/auth/auth");
// Configuring the app
app.use(morgan("dev"));
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
app.use(express.static(__dirname + "/public"));
app.use("/signup", authRouter);
//starting node server
const server = app.listen(process.env.PORT || 3001, function(err) {
if(err) throw err;
console.log("Listening on port " + server.address().port);
});
如果我将路由更改为 GET,它可以正常工作,但是一旦我执行 POST 路由,它就会一直告诉我邮递员有一个 404 错误,我尝试了很多事情,但我现在卡住了!我是这里的初学者:)
解决方案
我认为您在路由中添加了前缀,因此路由是 /signup/signup
尝试改变这一点
app.use("/signup", authRouter);
对此
app.use(authRouter);
推荐阅读
- bash - kubectl 在 bash 脚本中使用内联选项而不是 yaml 文件创建
- python - 如何使用 python 脚本在目录之间“cd”
- flutter - Flutter 中可能有不同的 Button 样式?
- c# - 在 C# 中使用自定义数据模型实现通用和扩展 ObservableCollection 方法
- neo4j - Neo4j 浏览器 - 如何导出具有白色背景的图形?
- javascript - 有没有办法使用 fetch() 检测是否从缓存或服务器中提取资源
- python - Django 脆皮表单 - 设置隐藏字段值
- c# - 使用 LINQ 而不是循环查询嵌套列表
- jquery - 在 index.html 中声明 js 库只需在 reactjs 中加载 1 次
- c# - 如何显示列表