[英]nodejs - Set-Cookie present in response but missing in browser
我正在使用 express.js 和 passport.js 作为我的后端,axios 和 vue.js 作为我的前端。
我可以看到我的 set-cookie,但我的浏览器中不存在 cookie。 图片链接如下。
此 cookie 用于使用 passport.js 对我的用户进行身份验证。
以下是我的 express.js 的代码。
var app = express(); app.use(cors({ origin: "http://localhost:8080", credentials: true })); 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(session({ secret: 'p@ssw0rd' })); app.use(passport.initialize()); app.use(passport.session());
下面的方法将通过 vue.js 方法调用。
const url = "http://localhost:3000/"; let axiosConfig = { withCredentials: true, headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': 'http://localhost:3000/', 'Access-Control-Allow-Methods': 'GET,PUT,POST,DELETE' } } class user { static login(username, password) { return new Promise(async(resolve, reject) => { try { const res = await axios.post( `${url}login`, { username, password }, axiosConfig ); resolve(res.data); } catch (err) { reject(err); } }); }
后端在 localhost:3000 运行,前端在 localhost:8080 运行
检查 cookies。 未显示所选主机的数据
我找到了我的问题的答案,解决方案真的很愚蠢,没有任何代码相关。 由于我正在研究 expressjs,而一个朋友正在研究 vuejs,因此他添加了两个相同的文件夹,其中包含 axios 方法。 我更改了未引用的部分。
我在我的问题中发布的代码有效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.