如何阅读节点js 上的 cookie ?
var socket = require( 'socket.io' );
var express = require('express');
var app = express();
var server = require('http').createServer(app);
var io = socket.listen( server );
var port = process.env.PORT || 8000;
var mysql = require('mysql');
function parseCookies (request) {
var list = {},
rc = request.headers.cookie;
rc && rc.split(';').forEach(function( cookie ) {
var parts = cookie.split('=');
list[parts.shift().trim()] = decodeURI(parts.join('='));
});
return list;
}
http.createServer(function (request, response) {
// To Read a Cookie
var user_id= cookies.realtimeid;
console.log(user_id);
});
server.listen(port, function () {
console.log('Server listening at port %d', port);
var cookies = parseCookies();
console.log(cookies);
});
我是节点和套接字的新手。我必须读取由 codeignter设置的cookie值。 如何从 server.listen parseCookies 发送标头请求。
答案 0 :(得分:4)
我看到你正在使用快递,所以我建议你使用非常着名的模块。 cookie-parser https://www.npmjs.com/package/cookie-parser
<强>安装强>
npm install cookie-parser
如何使用
var express = require('express')
var cookieParser = require('cookie-parser')
var app = express()
app.use(cookieParser())
所以基本上在你的mysql要求之后你可以做app.use(cookieParser())
然后在req
变量中的每个请求中,您都会找到req.cookies
的Cookie
示例强>
var express = require('express')
var cookieParser = require('cookie-parser')
var app = express()
app.use(cookieParser())
app.get('/', function(req, res) {
console.log("Cookies: ", req.cookies)
})
app.listen(8080)