Node.js 无法发出HTTP post请求
我正在尝试使用HTTP post请求登录 app.jsNode.js 无法发出HTTP post请求,node.js,express,Node.js,Express,我正在尝试使用HTTP post请求登录 app.js //login app.get('/login', indexRouter); // call to login site app.post('/login',indexRouter); // post to /users/login site users.js router.get('/', function(req, res, next) { var message = ''; var sess = req.sessio
//login
app.get('/login', indexRouter); // call to login site
app.post('/login',indexRouter); // post to /users/login site
users.js
router.get('/', function(req, res, next) {
var message = '';
var sess = req.session;
if(req.method == "POST"){
var post = req.body;
var name= post.user_name;
var pass= post.password;
var sql="SELECT id, first_name, last_name, user_name FROM `users` WHERE `user_name`='"+name+"' and password = '"+pass+"'";
db.query(sql, function(err, results){
if(results.length){
req.session.userId = results[0].id;
req.session.user = results[0];
console.log(results[0].id);
res.redirect('/users/home/dashboard');
}
else{
message = 'Wrong Credentials.';
res.render('index.ejs',{message: message});
}
});
} else {
res.render('index.ejs',{message: message});
}
});
当我单击login时,它会指示我使用找不到的EROR404。我正在从我的主页登录
我是否错误地执行POST请求?您需要将路由器分为两种方法:
router.get
和router.POST
。
例如:
// app.js
// login
app.use('/login', indexRouter);
// users.js
// call to login site
router.get('/', function(req, res, next) {
var message = '';
var sess = req.session;
res.render('index.ejs',{message: message});
});
// users.js
// post to /users/login site
router.post('/', function(req, res, next) {
var message = '';
var sess = req.session;
var post = req.body;
var name= post.user_name;
var pass= post.password;
var sql="SELECT id, first_name, last_name, user_name FROM `users` WHERE `user_name`='"+name+"' and password = '"+pass+"'";
db.query(sql, function(err, results){
if(results.length){
req.session.userId = results[0].id;
req.session.user = results[0];
console.log(results[0].id);
res.redirect('/users/home/dashboard');
}
else{
message = 'Wrong Credentials.';
res.render('index.ejs',{message: message});
}
});
});