簡體   English   中英

第一次請求時未發送Cookie

[英]cookie doesn't get sent on first request

我的server.js express應用程序上有以下代碼:

var express = require('express');
var fallback = require('express-history-api-fallback');
var compress = require('compression');
var favicon = require('serve-favicon');
var prerenderio = require('prerender-node');
var config = require('getconfig');

var app = express();

app.use(function (req, res, next) {
    if (config.environment !== 'local') {
        res.cookie('config', JSON.stringify(config), { secure: true });
    }
    else {
        res.cookie('config', JSON.stringify(config));
    }
    next();
});

app.get('/versioncheck', function(req, res) {
    return res.json({ version: config.version });
});

app.use(compress());
app.use(prerenderio.set('prerenderToken', config.prerender_token).set('protocol', 'https'));
app.use(express.static(__dirname, { maxAge: 31536000 }));
app.use(favicon(__dirname + '/favicon.ico'));
app.use(fallback('index.html', { root: __dirname }));

const PORT = process.env.PORT || 1010;

app.listen(PORT, function () {
    console.log('Server started on port %s', PORT);
});

我使用express設置的第一個中間件非常簡單:它將帶有一些配置信息的cookie發送到客戶端。 我面臨的問題是,此Cookie不會在第一次請求時被發送到客戶端。 對於所有后續請求,它都可以正常工作。 我想念什么?

我前段時間也遇到過類似的問題。

在第一個請求的開始,cookie不存在。

Cookie是在請求期間(而不是之前)發送的。

因此,在第二個請求開始時,將設置cookie(來自請求1)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM