尽管我无法访问我的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变量。如何访问变量并使用它?
答案 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共享的解决方案就可以了。