這裏是JS我用我的OTP的值存儲會話內:如何獲取存儲在js函數內的會話中的值?
app.use(session({
secret:'mysecret'
});
app.post('/',(req,res)=>{
var ss = req.session;
ss.otp = req.body.otp;
});
現在,我想我的js函數內部此值。
我該怎麼做? 謝謝。
這裏是JS我用我的OTP的值存儲會話內:如何獲取存儲在js函數內的會話中的值?
app.use(session({
secret:'mysecret'
});
app.post('/',(req,res)=>{
var ss = req.session;
ss.otp = req.body.otp;
});
現在,我想我的js函數內部此值。
我該怎麼做? 謝謝。
也許我不明白這個問題,但這是你在找什麼?
app.post('/',(req,res)=>{
var ss = req.session;
ss.otp = req.body.otp;
myFunction(ss.opt)
});
function myFunction(opt){
console.log('inside function with opt: ' + opt);
}
或者你是否試圖將它保存到會話以供將來使用?在這種情況下做到這一點:
app.post('/',(req,res)=>{
req.session.opt = req.body.otp;
});
//From a post
app.post('/newpost', (req,res)=>{
if(req.session.opt){
someFunction(req.session.opt);
}
}
// From a get
app.get('/newroute', (req,res)=>{
if(req.session.opt == 'somevalue'){
console.log('opt exists')
}else{
//do something else
res.redirect('/someredirect')
}
}
從您的意見,我得到的是你要訪問的會話數據客戶端,你不能,根據文檔(假設你使用快遞會話):
https://github.com/expressjs/session#sessionoptions
注意會話數據不保存在cookie本身,只是會話ID。會話數據存儲在服務器端。
所以我最好的猜測是剛剛添加路由
GET /me
,你返回你所需要的用戶信息。
是的,你讓我對,這正是我想要做的。所以根據你的第一,我必須將我的會話ID存儲在一個cookie中,然後我可以使用Cookie中的相同會話ID在客戶端獲得我的會話值。 – Nikhil
哪個js函數是你的意思,你已經準備好在你的post中間件中訪問它了?您使用哪個模塊創建會話? –
請指定你想在哪個函數中獲得哪個值以及你在這裏使用哪些模塊(什麼是'app'?什麼是'session'?顯示你定義它們的代碼)。我對你的第一篇文章做了小的改進,但是它缺少一些主要部分。 – YakovL