我有一个用 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']


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!