将数据从客户端发布到节点服务器

时间:2018-07-01 12:21:22

标签: node.js post

尽管我无法访问我的app.get路由中的数据,但我可以将数据发布到节点服务器。

orders.hbs(ajax):

$.post( "/show_items", { o_id: result } );

app.js:

app.post ('/show_items', function(req,res){
  var order_num = req.body.o_id;
});

app.get('/orders',authenticationMiddleware(), function(request, response){

  console.log(order_num);
...

}

问题是在我的app.get中,我无法访问$ order_num变量。如何访问变量并使用它?

2 个答案:

答案 0 :(得分:0)

order_num中定义了app.post时,它是一个局部变量,仅在该范围内可用。如果要在app.get中访问它,则需要先定义它,然后再进行设置:

var order_num;

app.post ('/show_items', function(req,res){
    order_num = req.body.o_id;
});

...

app.get('/orders',authenticationMiddleware(), function(request, response){
    console.log(order_num);
}

答案 1 :(得分:0)

我想在回答之前知道用例。在POST-API中发送数据时,理想情况下,定义给POST-API的所有中间件(功能)都应该可以使用/使用这些数据。

@Yoni:您正试图在完全不同的GET API中使用在POST API中传递的信息(在属性req.body.order_num下)。

但是如果仍然要访问它,那么@Bostrot共享的解决方案就可以了。