Javascript Express.js路由器post请求返回404
当我尝试从html表单发送请求时,我的express服务器返回404错误。然而,get请求工作正常。我已将服务器和路由的文件分开。我无法在app.js中发出请求,因为请求太多(针对不同的页面)。我想向db发出post insert请求,但我无法从我的表单中获得任何信息 我遗漏了什么吗 我的html表单(ejs) my./routes/events.js文件Javascript Express.js路由器post请求返回404,javascript,node.js,express,post,http-status-code-404,Javascript,Node.js,Express,Post,Http Status Code 404,当我尝试从html表单发送请求时,我的express服务器返回404错误。然而,get请求工作正常。我已将服务器和路由的文件分开。我无法在app.js中发出请求,因为请求太多(针对不同的页面)。我想向db发出post insert请求,但我无法从我的表单中获得任何信息 我遗漏了什么吗 我的html表单(ejs) my./routes/events.js文件 const express = require('express'); const router = express.Router();
const express = require('express');
const router = express.Router();
router.get('/', function (req, res, next) {
let query = '*select query*';
res.locals.connection.query(query, function (error, results, fields) {
if (error) throw error;
res.render('index', { title: 'Events', data: results });
});
});
router.post('/add', function (req, res) {
var obj = req.body.title;
console.log(obj);
res.redirect('/events');
});
您的'routes/events.js'文件中列出了'add'端点,这会导致最终路由的结构为'/events/add'。在您的表单中,您将发送到'/add'端点,因此要解决此问题,请将表单上的操作道具更改为'/events/add',或将'/add'端点移动到自己的路由中,如下所示:
router.post('/add', function(req, res) {
var obj = req.body.title;
console.log(obj);
res.redirect('/events');
});
“routes/events.js”文件中列出了“add”端点,这将导致最终路由的结构为“/events/add”。在表单中,您将发送到“/add”端点,因此要解决此问题,请将表单上的操作道具更改为“/events/add”,或将“/add”端点移动到自己的路由中,如下所示:
router.post('/add', function(req, res) {
var obj = req.body.title;
console.log(obj);
res.redirect('/events');
});
谢谢!我对这个路径有点困惑,因为我刚刚开始学习这个。现在很好,谢谢你。你对我的问题也有帮助。总是三重检查你的安装方式,非常感谢!我对这个路径有点困惑,因为我刚刚开始学习这个。现在很好,谢谢你。你对我的问题也有帮助。总是三重检查你安装路线的方式lol
router.post('/add', function(req, res) {
var obj = req.body.title;
console.log(obj);
res.redirect('/events');
});