Node.js 问题:Node Express can';无法通过post请求获取会话值

Node.js 问题:Node Express can';无法通过post请求获取会话值,node.js,express,session,shopify,Node.js,Express,Session,Shopify,我正在node.js中开发Shopify应用程序。我使用不同的Shopify Webhook进行不同的操作。类似地,对于特定场景,当我从Shopify API获得响应时,我需要使用会话值。所以在这个场景中,会话对我不起作用。请看下面的代码 我在index.js中的代码 const express = require('express'); const app = express(); var session = require('express-session'); app.set('trust

我正在node.js中开发Shopify应用程序。我使用不同的Shopify Webhook进行不同的操作。类似地,对于特定场景,当我从Shopify API获得响应时,我需要使用会话值。所以在这个场景中,会话对我不起作用。请看下面的代码

我在index.js中的代码

const express = require('express');
const app = express();
var session = require('express-session');
app.set('trust proxy', 1); // trust first proxy  
app.use(session({
    secret: 'keyboard cat',
    resave: false,
    saveUninitialized: true,
    cookie: {
        httpOnly: false,
        secure: true,
        maxAge: 60000
    }
}));

//Set the session  
app.get('/check_timewindow_orders', function (req, res, next) {
    req.session.delvy_date = query.date_select;
});

app.use(function (req, res, next) {
    res.locals.delvy_date = req.session.delvy_date;
    next();
});
我在app.get和app.post中获取会话值

app.get('/order_created_get', function (req, res) {  
console.log(req.cookies.delDate);   
    // It display the value store in session.  
});
但当我从shopify Order Create Webhook API获得帖子时,我无法获得会话值

app.post('/order_created', function (req, res) {  
    console.log(req.cookies.delDate); // It display Null.  
});

您实际上没有使用会话。 您需要将其添加为中间件:

app.get('/check_timewindow_orders', session, function(req, res, next){  
    req.session.delvy_date = req.query.date_select;  
}); 

app.use(session, function(req, res, next) {  
    res.locals.delvy_date = req.session.delvy_date;   
    next();  
});  

如果您能用空格更好地格式化代码,其他人会更容易发现问题所在。您好,非常感谢您的回复,是的,我也尝试了您的方法,但当我从Shopify API获得响应时,仍然没有获得会话值。您也没有使用
req.query.date\u select
。这应该会引发一个错误,因为我还使用了req.query.date\u select,但没有获得会话值:(我收到以下响应app.post('/order\u created',function(req,res){req.session.delvy\u date//It display Null.}的会话值问题);您可能应该更新问题以显示当前代码。