0
我試圖實現一個異步方法,它對特定的API進行POST調用並檢索其數據,然後將結果存儲在用戶的會話中。這項任務本身似乎很容易,但是當我這樣做的時候,這是一種「即忘即忘」的風格。設置標題後設置會話
我不希望等待結果從外部API返回,而是讓用戶加載他請求的頁面並繼續瀏覽。只有當響應準備就緒後,我希望它保存在會話中。
一切似乎都正常工作,但唯一的問題是我設置會話,並繼續下一個路線的一刻,一切都會丟失,就好像我從來沒有在第一頁中設置它。調試代碼還表明該過程完成後沒有任何錯誤,因此我懷疑在設置響應頭之後設置會話時出現問題。但似乎無法理解爲什麼這應該是一個問題。
我正在使用nodejs express和mongodb會話&數據庫處理。
router.get('/myroute', function(req, res, next) {
request({
url: endpoint,
method: "POST",
json: true,
body: jsonData
}, function(error, response, body) {
req.session.mykey = 'some response';
});
res.redirect('/otherroute');
});
router.get('/checkresult', function(req, res, next) {
res.json(req.session.mykey);
});
太棒了!奇蹟般有效。 –