上代码

老生常谈的nodejs跨域_跨域


服务器转发 是不存在跨域

res.setHeader('Access-Control-Allow-Origin','http://localhost:8080')
设置了* 就是不做拦截 也不会读取浏览器cookie提交
res.setHeader('Access-Control-Allow-Headers','*')
res.setHeader('Access-Control-Allow-Credentials','true')
res.setHeader('Access-Control-Allow-Method','*')

读取cookie使用cookie-parser

var express=require("express");
var cookie=require("cookie-parser")
express.use(cookie())记得放在最前面

设置请求头withCredentials 为true

2021-5-11更新内容如下

.header("Access-Control-Allow-Origin", 'http://localhost:81');
res.header("Access-Control-Allow-Methods", "GET,HEAD,OPTIONS,POST,PUT");
res.header("Access-Control-Allow-Headers", "*");
res.header("Access-Control-Allow-Credentials", true);
res.header('X-Powered-By', '123')
res.cookie('isVisit', 1, {maxAge: 60 * 1000, httpOnly: true})
// 浏览器响应如下
//Set-Cookie: isVisit=1; Max-Age=60; Path=/; Expires=Tue, 11 May 2021 01:42:27 GMT; HttpOnly
res.header('setcookie','123')
res.header('Access-Control-Expose-Headers', 'setcookie,X-Powered-By')