Node.js 错误:无法使用express和node发布/发送
我正在用node和express制作一个应用程序,问题是我可以向我的数据库MYSQL发送一些东西,我可以接收数据,但我收到一个错误,上面写着cannot POST/Registrme,在控制台中我收到一条消息,上面写着POST/Registrme 404 这是我的代码:Node.js 错误:无法使用express和node发布/发送,node.js,express,passport.js,Node.js,Express,Passport.js,我正在用node和express制作一个应用程序,问题是我可以向我的数据库MYSQL发送一些东西,我可以接收数据,但我收到一个错误,上面写着cannot POST/Registrme,在控制台中我收到一条消息,上面写着POST/Registrme 404 这是我的代码: const passport = require('passport'); const LocalStrategy = require('passport-local').Strategy; const pool = requ
const passport = require('passport');
const LocalStrategy = require('passport-local').Strategy;
const pool = require('../database');
const helpers = require('../lib/helpers')
passport.use('local.registrarme', new LocalStrategy({
usernameField: 'email',
passwordField: 'contrasena',
passReqToCallback: true
}, async(req,email, contrasena, done) =>{
const { dni, nombre, apellido1, apellido2, direccion, telefono, id_poblacion} = req.body;
const nuevousuario = {
email: email,
contrasena: contrasena,
dni,
nombre,
apellido1,
apellido2,
direccion,
telefono,
id_poblacion,
};
nuevousuario.contrasena = await helpers.encryptPassword(contrasena);
const result= await pool.query('INSERT INTO PERSONAS SET ?', [nuevousuario]);
console.log(result);
nuevousuario.id= result.insertId;
return done(null, nuevousuario);
}));
passport.serializeUser((user, done) =>{
done(null, user.id);
});
passport.deserializeUser(async (id, done) =>{
const rows = await pool.query('SELECT * FROM PERSONAS WHERE id = ?', [id]);
done(null,rows[0]);
});
这是我的路由器代码:
const express = require('express');
const router = express.Router();
const passport = require('passport');
//renderizar los datos
router.get('/registrarme', (req,res) =>{
res.render('auth/registrarme')
});
//ruta para recibir los datos
router.post('/registrarme', passport.authenticate('local.registrarme',{
succesRedirect: '/perfil',
failureRedirect: '/registrarme',
failureFlash: true
}))
//ruta perfil
router.get('/perfil', (req,res) =>{
res.send('Este es tu perfil')
});
module.exports = router;
当我可以将项目发送到数据库时,我希望页面将我重定向到/perfil,但我得到了错误毕竟,您的路由似乎缺少需要运行的最后一个功能。 将其更改为:
router.post('/registrarme', passport.authenticate('local.registrarme', {
succesRedirect: '/perfil',
failureRedirect: '/registrarme',
failureFlash: true
}), (req, res) => {
console.log('registrarme route!')
})
它工作正常,但是代码没有达到我想要的效果,它现在看起来成功重定向和失败直接的部分不起作用,所以它将消息发送到控制台,但是页面继续加载,没有任何响应,尽管在数据库上发送和接收术语