繁体   English   中英

我如何将数据从一个发布请求api发送到node.js中的另一个发布请求api?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM