Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ExpressJS&;cookie-无法获取快速cookie来初始化cookie_Javascript_Node.js_Express_Cookies_Session Cookies - Fatal编程技术网

Javascript ExpressJS&;cookie-无法获取快速cookie来初始化cookie

Javascript ExpressJS&;cookie-无法获取快速cookie来初始化cookie,javascript,node.js,express,cookies,session-cookies,Javascript,Node.js,Express,Cookies,Session Cookies,我观看了一个YouTube教程(),在那里,一旦将以下代码添加到app.js,就可以在开发者工具应用程序选项卡中看到cookie: var session = require('express-session'); app.use(session({ secret: 'keyboard cat', name: 'testcookie', resave: false, saveUninitialized: true, cookie: { se

我观看了一个YouTube教程(),在那里,一旦将以下代码添加到
app.js
,就可以在开发者工具
应用程序
选项卡中看到cookie:

var session = require('express-session');
app.use(session({
    secret: 'keyboard cat',
    name: 'testcookie',
    resave: false,
    saveUninitialized: true,
    cookie: {
        secure: false
    }
}))
然而,我没有运气看到饼干。我觉得我几乎什么都试过了,但这就是我得到的:

这是我的完整
app.js
文件:

var createError = require('http-errors');
var express = require('express');
var cookieParser = require('cookie-parser')
var path = require('path');
var logger = require('morgan');
var session = require('express-session');

var indexRouter = require('./routes/index');
var usersRouter = require('./routes/login');
var createSession = require('./routes/session');

var app = express();

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));

app.use('/', indexRouter);
app.use('/login', usersRouter);
app.use('/session', createSession);

// catch 404 and forward to error handler
app.use(function(req, res, next) {
    next(createError(404));
});

// error handler
app.use(function(err, req, res, next) {
  // set locals, only providing error in development
  res.locals.message = err.message;
  res.locals.error = req.app.get('env') === 'development' ? err : {};

  // render the error page
  res.status(err.status || 500);
  res.render('error');
});

app.set('trust proxy', 1);
app.use(session({
    secret: 'keyboard cat',
    name: 'testcookie',
    resave: false,
    saveUninitialized: true,
    cookie: {
        secure: false
    },
    proxy: true
}))

module.exports = app;

你知道可能遗漏了什么吗?我是新来表达的,这对我来说是一场难以置信的斗争。提前感谢。

为了在
express
中使用
cookie解析器
中间件时设置cookie,您必须提供端点/路由来提供cookie。在路由处理程序中添加代码

res.cookie(“mycokiename”,“value:“some value”})

客户端将在访问该路由时收到cookie

现在,最终用户发出的每个请求都会自动将cookie发送到您的服务器,并使用
cookie解析器进行解析。然后,在路由处理程序主体中处理传入请求时,可以通过
req.cookie
对象上的名称访问我们设置的每个cookie

如果要在设置cookie时设置任何选项,可以在
cookie解析器
docs