The question may seem strange, but here I am studying Node.js and, in particular, express.js. With this problem already poked in the internet, but I did not find a solution. Here is the code, the simplest and generated express:
var express = require('express') , routes = require('./routes') , user = require('./routes/user') , http = require('http') , path = require('path'); var app = express(); // all environments app.set('port', process.env.PORT || 8080 ); app.set('views', __dirname + '/views'); app.set('view engine', 'jade'); app.use(express.favicon()); app.use(express.logger('short')); app.use(express.cookieParser()); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(app.router); app.use(express.static(path.join(__dirname, 'public'))); // development only if ('development' == app.get('env')) { app.use(express.errorHandler()); } //app.get('/', routes.index); app.get('/',function(req,res){ res.cookie('cart', 'test', {expires: new Date(Date.now() + 300), httpOnly: true}); res.send("Ok"); }); http.createServer(app).listen(app.get('port'), function(){ console.log('Express server listening on port ' + app.get('port')); });
The result is, apparently "Ok", but there is no cookie. Checked in chrome. Why is there no cookies?
TAAAAAK !!! REFORMED QUESTION !!!!
var express = require( 'express' ); var app = express(); app.listen( 8080 ); app.get( '/', function( req, res ){ res.cookie('cart', 'test', {expires: new Date(Date.now() + 300), httpOnly: true}); res.send("Ok"); } );
Here I have a cookie, on this question is another! Who knows why they were not in example number 1, but is number 2 in example ???