[英]how can i send the data from one post request api to another post request api in node.js?
我在nodejs中创建了两个post api,一个是登录名,另一个是仪表板api。 我想将电子邮件,角色数据从登录api发送到仪表板api。有人可以给我解决这个问题的方法吗?高级谢谢您的回答。
var express = require("express"); var session = require("express-session"); var bodyParser = require("body-parser"); var app = express(); app.engine('html', require('ejs').renderFile); app.use(session({ secret: 'JILLU', cookie:{maxAge:60*60*24*1000}, resave: false, saveUninitialized: false })); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({extended: true})); app.post('/login',function(req,res,next){ var ses = req.session; ses.id=req.session.id; ses.email=req.body.mailid; ses.role=req.body.role; console.log(ses.id); res.redirect(307,'/dashboard'); }); app.post('/dashboard',function(req,res){ console.log("dashboard"); if(ses.email) { console.log("email is a live"); console.log(ses.email); console.log(ses.role); console.log(ses.id); res.write(ses.email); res.write(ses.role); } else { console.log("login first"); res.render(__dirname+"/mailrequest.html"); } }); app.listen(8086,function(){ console.log("App Started on PORT 8086"); });
这应该工作,
// '/login'
app.post('/login',function(req,res,next){
var ses = req.session;
ses.email=req.body.mailid;
ses.role=req.body.role;
console.log(ses.id);
res.redirect(307,'/dashboard');
});
// '/dashboard'
app.post('/dashboard',function(req,res){
console.log("dashboard");
if(req.session.email) {
console.log("email is a live");
console.log(req.session.email);
console.log(req.session.role);
console.log(req.session.id);
res.write(req.session.email);
res.write(req.session.role);
} else {
console.log("login first");
res.render(__dirname+"/mailrequest.html");
}
});
问题在于变量ses是局部变量,在'/ dashboard'路由中未定义,而session是req(request)对象的对象。
我建议您使用http get请求来代替仪表板。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.