express 中的cors配置
app.use(cors({ origin: ‘http://localhost:8080’, methods: [‘GET’, ‘POST’, ‘OPTIONS’], ‘Access-Control-Allow-Credentials’:true, credentials: true, allowedHeaders: [‘Access-Control-Allow-Headers’, ‘Content-Type’, ‘Authorization’, ‘authorization’, ‘Cookie’, ‘Set-Cookie’] })); 响应中有 但是不能通过js 这些拿到 这个Authorization 求大神指点 要怎么修改
cors 这个要怎么配置 ? 才能运行浏览器 去搞
如果你没用jquery https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/getResponseHeader 如果你用了jquery https://stackoverflow.com/questions/11440918/jquery-get-ajax-response-headers 如果你用别的库发ajax请求,找找看如何获得xhr对象的引用,然后xhr.getReponseHeader() 如果你贴的截图实际是一个OPTIONS请求 https://github.com/expressjs/cors#enabling-cors-pre-flight 可能是无解的,我不知道你服务器怎么配的。 Authorization应该从非OPTIONS请求响应种返回。
我按别人 这样写也不行
res.header('Access-Control-Allow-Origin', 'http://localhost:8080'); res.header('Access-Control-Allow-Credentials', 'true'); res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization, Cookie, Set-Cookie'); res.header('Access-Control-Allow-Methods', 'GET, POST, OPTIONS');
哦 还有 以上的话 如果 我把前端 用 webpack 的Proxytable 可以解决 但是 现在要用 cros
自己解决了 有个expose 的要设置。。。一直以为是 暴露 结果原来是允许操作的意思
@bringtree good.
我也遇到这个问题最近,具体expose 怎么设置的啊老哥,能再说清楚点吗?
搜索cors expose 。然后会找到一个expose headers的 把你要操作的头 放进去就好了 @@singcl
@bringtree Thanks.