繁体   English   中英

请求到node.js中的其他路由

[英]Request to other route in node.js

如何在node.js中向另一个路由发出请求? 我有POST请求,成功执行POST请求后,我想执行GET请求以获取该用户的日期。

app.post("/childrens", checkUser, async (req, res, next) => {
    ...
    const childrenResponse = await Childrens.create({
            ...children,
            id_kindergarten,
            type: 2
        })
    //here I want make get request after successful POST request
    const data = app.get("/childrens/2");
    res.send(data);
}

尝试使用handle方法,如下所示:

req.method = "GET";
req.url = "/childrens/2";
app._router.handle(req, res, next);

通常,这是通过303 See Other处理的,其中包括其他资源的Location标头。 在您的情况下:

res
  .set('Location', '/childrens/2')
  .status(303)
  .send();

尝试这样,它在我的情况下有效。

app.use('/users', function(req, res, next){
  console.log('users');
});

app.use('/test', function(req, res, next){
  console.log('test');
  req.url = '/users';
  return app._router.handle(req, res, next);
});

输出:

GET /test - - ms - -
test
users

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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