我有一个用 express 编写的客户端和服务器 Node 。客户端使用请求模块与服务器通信,服务器将响应返回给客户端。在服务器代码中,我将 cookie 发送回客户端。但是我无法在浏览器中看到 cookie。在客户端 req.cookies 中提供 {}
服务器代码:
var express = require('express');
var cookieParser = require('cookie-parser');
var app = express();
app.use(cookieParser());
app.get('/test-cookie', function(req, res) {
res.cookie('abc', 'xyz').send('Cookie is set');
});
app.listen(9000);
客户端代码:
var express = require('express');
var request = require('request');
var cookieParser = require('cookie-parser');
var app = express();
app.use(cookieParser());
app.get('/', function(req, res) {
request({
url: 'http://localhost:9000/test-cookie',
method: 'GET'
}, function(error, response, body) {
if (error) {
res.send({
msg: error
});
} else {
if (200 == response.statusCode) {
console.log(req.cookies);
}
}
});
});
app.listen(7000);
请您参考如下方法:
response.cookies 是设置cookie,如果你想从响应对象中获取cookie,你将不得不依赖response.headers['set-cookie']