Проблема: Node Express не может получить значение сеанса с пост-запросом - PullRequest
0 голосов
/ 07 мая 2018

Я разрабатываю приложение Shopify в node.js. Я использую разные интернет-магазины Shopify для разных действий. аналогично для конкретного сценария мне нужно использовать значение сеанса, пока я получаю ответ от 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 API Order Webhook.

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

1 Ответ

0 голосов
/ 07 мая 2018

Вы на самом деле не используете сеанс. Вам необходимо добавить его в качестве промежуточного программного обеспечения:

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();  
});  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...