express框架使用cors包解决跨域问题时,还是存在问题的原因。
express框架使用cors包解决跨域问题时,还是存在问题的原因。
今天我在使用express框架写一个后台管理系统时,发现存在这样的问题,那就是跨域问题,但是我明明是使用了 cors 包解决了跨域问题了。当我调用其他接口的时候,发现出现了这些跨域问题。
2. 原因
其实原因很简单,就是我在调用其他接口的时候,前端会默认在请求头上携带token,但是我们没有在 cors配置中说明,这是请求头允许的字段。
allowedHeaders 添加允许自定义请求头字段
const app = express();
app.use(cors({origin: '*', // 允许所有来源,可以根据需要设置特定的来源methods: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS'],allowedHeaders: ['Content-Type', 'Authorization'], // 允许自定义的请求头字段optionsSuccessStatus: 200, // 一些旧的浏览器需要这个exposedHeaders: ['X-Custom-Header'],
}));