Node.js 问题:Node Express can';无法通过post请求获取会话值
我正在node.js中开发Shopify应用程序。我使用不同的Shopify Webhook进行不同的操作。类似地,对于特定场景,当我从Shopify API获得响应时,我需要使用会话值。所以在这个场景中,会话对我不起作用。请看下面的代码 我在index.js中的代码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
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.}的会话值问题);您可能应该更新问题以显示当前代码。