大佬们 原生的 node.js 配置跨域除了了几个常用的有什么需要注意的么 配置完 postman 跑没问题 请求头里请求头里也没问题 但是我用 vuecli 搭建的页面搭建的页面就报跨域 大佬们能帮忙出出招么
1
guoke360 2022-03-01 09:03:32 +08:00
vue 前端的话直接走代理就行了,跨域指的是浏览器内你访问的后台域名和正在使用的域名不一样就会报错
|
2
liyang5945 2022-03-01 09:12:39 +08:00 1
跨域请求带 cookie 的话,Access-Control-Allow-Origin ,这个字段不能是*,必须是具体的,例:localhost:8080 。
Access-Control-Allow-Credentials 这个字段要为 true ,还有 options 请求要返回 204 ,浏览器现在不显示这个请求了,前段时间也碰到跨域的坑,就是 options 的问题,抓包才找到问题来源。 顺便附上 nodejs 代码: res.header("Access-Control-Allow-Origin", req.headers.origin); res.header("Access-Control-Allow-Credentials", 'true'); res.header("Access-Control-Allow-Headers", "Content-Type,Content-Length, Authorization, Accept,X-Requested-With"); res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS"); if(req.method=='OPTIONS'){ res.writeHead(204) } |
3
happyCodings OP @liyang5945 大佬 options 设置返回 204 可以了 但是正常的请求还是不可以 哭晕
|
4
liyang5945 2022-03-01 10:08:30 +08:00
@happyCodings #3 贴个报错信息
|
5
happyCodings OP @liyang5945 而且我用的是原声没有用 express 没有 writehead 方法 通过 statusCode 来实现 204 不生效
|
6
happyCodings OP @liyang5945 加个微信可以么 公司电脑没有办法上飞机 15694302859
|